Charmed by the Game solution codeforces
Alice and Borys are playing tennis.
A tennis match consists of games. In each game, one of the players is serving and the other one is receiving.
Players serve in turns: after a game where Alice is serving follows a game where Borys is serving, and vice versa.
Each game ends with a victory of one of the players. If a game is won by the serving player, it’s said that this player holds serve. If a game is won by the receiving player, it’s said that this player breaks serve.
It is known that Alice wongames and Borys won games during the match. It is unknown who served first and who won which games.
Find all values ofsuch that exactly breaks could happen during the match between Alice and Borys in total.
Each test contains multiple test cases. The first line contains the number of test cases( ). Description of the test cases follows.
Each of the nextlines describes one test case and contains two integers and ( ; ) — the number of games won by Alice and Borys, respectively.
It is guaranteed that the sum ofover all test cases does not exceed .
For each test case print two lines.
In the first line, print a single integer( ) — the number of values of such that exactly breaks could happen during the match.
In the second line, print in increasing order.distinct integers ( ) — the sought values of
3 2 1 1 1 0 5
4 0 1 2 3 2 0 2 2 2 3
In the first test case, any number of breaks betweenand could happen during the match:
- Alice holds serve, Borys holds serve, Alice holds serve: breaks;
- Borys holds serve, Alice holds serve, Alice breaks serve: break;
- Borys breaks serve, Alice breaks serve, Alice holds serve: breaks;
- Alice breaks serve, Borys breaks serve, Alice breaks serve: breaks.
In the second test case, the players could either both hold serves (breaks) or both break serves ( breaks).
In the third test case, eitheror breaks could happen:
- Borys holds serve, Borys breaks serve, Borys holds serve, Borys breaks serve, Borys holds serve: breaks;
- Borys breaks serve, Borys holds serve, Borys breaks serve, Borys holds serve, Borys breaks serve: breaks