Codeforces Round 114 (Div. 1) |
---|
Закончено |
В некоторой стране живут волшебники. Они любят играть с числами.
На доске записано два числа — a и b. Порядок чисел не важен. Пусть для определенности a ≤ b. Игроки по очереди могут колдовать одно из двух заклинаний.
В случае, когда a > b возможны аналогичные ходы.
Если хотя бы одно из чисел равно нулю, ход сделать нельзя, так как брать остаток по модулю ноля считается некультурным, а вычитать ноль слишком скучно. Проигрывает игрок, который не может ходить.
Чтобы успешно участвовать в волшебном тотализаторе, Вам надо научиться быстро определять, какой из волшебников выиграет, если оба играют оптимально: тот, который ходит первым, или же тот, который ходит вторым.
В первой строке дано одно целое число t — количество наборов входных данных (1 ≤ t ≤ 104). Далее в t строках даны по два целых числа a, b (0 ≤ a, b ≤ 1018). Числа записаны через пробел.
Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-х битовых чисел на С++. Рекомендуется использовать потоки cin, cout или спецификатор %I64d.
Для каждого из t наборов входных данных выведите «First» (без кавычек), если, при оптимальной игре, выиграет игрок, который ходит первым, и «Second» (без кавычек), если выиграет игрок, который ходит вторым. Ответы на разные наборы данных выводите в разных строках в том порядке, в котором они записаны во входных данных.
4
10 21
31 10
0 1
10 30
First
Second
Second
First
В первом примере первому игроку следует пойти в (11,10). Тогда, после единственного хода второго игрока в (1,10), он возьмет 10 по модулю 1 и выиграет.
Во втором примере у первого игрока есть два хода в (1,10) и в (21,10). После обоих ходов второй может выиграть.
В третьем примере у первого игрока нет хода.
В четвертом примере первый игрок выигрывает за один ход, взяв 30 по модулю 10.
Название |
---|