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

Задача . B. Круговорот котов в квартире


Представьте, что у вас дома живет два кота: A и B. Всего в доме есть \(n\) мест, в которых оба кота любят поспать.

Ваши коты очень любят поспасть и им нравятся все эти места, поэтому они перемещаются от места к месту каждый час по циклу:

  • Кот A меняет свое место нахождения в порядке: \(n, n - 1, n - 2, \dots, 3, 2, 1, n, n - 1, \dots\) Другими словами, в первый час он лежит на месте \(n\) и потом перемещается по местам в порядке убывания циклически;
  • Кот B меняет свое место нахождения в порядке: \(1, 2, 3, \dots, n - 1, n, 1, 2, \dots\) Другими словами, в первый час он лежит на месте \(1\) и потом перемещается по местам в порядке возрастания циклически.

Кот B намного моложе, а потому у них есть строгая иерархия: A и B не ложатся вместе. Иначе говоря, если оба кота хотят лечь на место \(x\), то A занимает данное место, а B ложится в следующее по своему порядку место (если \(x < n\), то в \(x + 1\), а если \(x = n\) то в \(1\)). Кот B ложится на места согласно своему порядку, поэтому он не вернется на пропущенное место \(x\) после того, как A освободит его, а переместится на место \(x + 2\) и так далее.

Определите, где на каком месте будет лежать B на \(k\)-м часу.

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

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

В первой и единственной строке каждого набора заданы два целых числа \(n\) и \(k\) (\(2 \le n \le 10^9\); \(1 \le k \le 10^9\)) — количество мест в квартире и час \(k\).

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

Для каждого набора входных данных, выведите одно число — номер места, где кот B будет спать на \(k\)-м часу.

Примечание

В первом наборе входных данных, \(n = 2\), поэтому:

  • в \(1\)-й час, A лежит на месте \(2\) и B — на \(1\);
  • во \(2\)-й час, A перемещается на место \(1\), а B — на \(2\).
Если \(n = 3\), то:
  • в \(1\)-й час, A лежит на месте \(3\) и B — на \(1\);
  • во \(2\)-й час, A перемещается на место \(2\); B тоже хотел бы переместиться с \(1\) на \(2\), но это место занято, поэтому он перемещается на \(3\);
  • в \(3\)-й час, A перемещается на место \(1\); B тоже хоте бы переместиться с \(3\) на \(1\), но это место занято, поэтому он перемещается на \(2\).

В шестом наборе входных данных:

  • A находится в следующих местах каждый час: \([5, 4, 3, 2, 1]\);
  • B находится в следующих местах каждый час: \([1, 2, 4, 5, 2]\).

Примеры
Входные данныеВыходные данные
1 7
2 1
2 2
3 1
3 2
3 3
5 5
69 1337
1
2
1
3
2
2
65

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

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