Задача C. Закупка строк

Автор:И. Блинов   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  
Максимальный балл:100  

Условие

Утка Утилита хочет купить строку. Для неё важны следующие требования:

1) Строка должна состоять только из нулей и единиц.

2) Соседние символы в строке различны.

3) Строка должна делиться ровно на N одинаковых частей.

4) Строка должна делиться ровно на M одинаковых частей.

Строки довольно тяжёлые, поэтому Утилита хочет знать минимальную длину строки, удовлетворяющей всем требованиям.

Отправка решения и тестирование

Данная задача будет проверяться на ОДНОМ входном файле, содержащем все тесты. Этот файл можно скачать ЗДЕСЬ.

В качестве решения принимается как программа, так и текстовый файл, содержащий ответ к задаче в требуемом формате (при его отправке следует выбрать в тестирующей системе среду разработки "Answer text").

Баллы будут начисляться пропорционально количеству правильных ответов в выходном файле. Решение будет полностью проверяться сразу после отправки, и участникам будут видны набранные за данную задачу баллы.

Формат входного файла

Первая строка входного файла содержит натуральное число T — количество тестов в файле. Следующие T строк содержат по два натуральных числа N и M.

Формат выходного файла

Выходной файл должен содержать T строк — ответы для заданных N и M.

Ограничения

1 ≤ N, M ≤ 1000

1 ≤ T ≤ 100

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
3
1 1
1 2
3 5
1
4
30

0.040s 0.008s 17