Олимпиадный тренинг

Задача . A. Кузнечик на прямой


Даны два целых числа \(x\) и \(k\). Кузнечик начинает в точке \(0\) на оси OX. За один ход он может прыгнуть на целое расстояние, которое не делится на \(k\), влево или вправо.

Какое наименьшее количество ходов может потребоваться кузнечику, чтобы достичь \(x\)? Какие это ходы?

Если существует несколько ответов, выведите любой из них.

Входные данные

В первой строке записано одно целое число \(t\) (\(1 \le t \le 1000\)) — количество наборов входных данных.

В единственной строке каждого набора входных данных записаны два целых числа \(x\) и \(k\) (\(1 \le x \le 100\); \(2 \le k \le 100\)) — конечная точка и ограничение на прыжки, соответственно.

Выходные данные

На каждый набор входных данных выведите одно целое число \(n\) — наименьшее количество ходов, которое может потребоваться кузнечику, чтобы достичь \(x\).

Во второй строке выведите \(n\) целых чисел, каждое из них не должно делиться на \(k\). Положительное число означает прыжок направо, отрицательное число означает прыжок налево. Конечная точка после всех прыжков должна быть ровно \(x\).

Длина каждого прыжка должна быть от \(-10^9\) до \(10^9\). Можно показать, что для любого решение с наименьшим количеством прыжков, существует и решение с таким же количеством прыжков такое, что каждый прыжок от \(-10^9\) до \(10^9\).

Можно показать, что при данных ограничениях ответ всегда существует. Если существует несколько ответов, выведите любой из них.


Примеры
Входные данныеВыходные данные
1 3
10 2
10 3
3 4
2
7 3
1
10
1
3

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя