I. Неточная сортировка перестановки
ограничение по времени на тест
10 секунд
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Это интерактивная задача.

Перестановка $$$a[1], a[2], \ldots, a[n]$$$ целых чисел от $$$1$$$ до $$$n$$$ скрыта от вас.

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

  • если $$$\frac{|a[i] - a[j]|}{max(a[i], a[j])} \leq 0.01$$$, то вернуть $$$0$$$;
  • иначе, если $$$a[i] \lt a[j]$$$, то вернуть $$$-1$$$;
  • иначе, вернуть $$$1$$$.

Ваша программа может делать запросы для сравнения любых двух элементов с помощью этого компаратора или для обмена любых двух элементов. После каждого обмена вам будет сообщено, стала ли перестановка отсортированной.

Отсортируйте перестановку размером до $$$16\,384$$$ с использованием не более $$$300\,000$$$ запросов.

Протокол взаимодействия

Получите от программы жюри целое число $$$n$$$ — размер перестановки ($$$1 \leq n \leq 16\,384$$$). Затем выведите запросы и получите ответы от программы жюри. После каждого запроса вывод должен быть очищен, а затем должно быть считано одно целое число — ответ на этот запрос.

Запросы сравнения имеют формат "C i j", а запросы обмена имеют формат "S i j", где $$$i$$$ и $$$j$$$ — индексы двух элементов ($$$1 \leq i, j \leq n$$$). Разрешается делать запросы с $$$i=j$$$.

Ответ на запрос сравнения равен $$$0$$$, если $$$a[i]$$$ "приближенно равно" $$$a[j]$$$, иначе: $$$-1$$$ если $$$a[i] \lt a[j]$$$, и $$$1$$$ если $$$a[i] \gt a[j]$$$.

Запрос обмена меняет значения в $$$a[i]$$$ и $$$a[j]$$$, и ответ на запрос обмена равен $$$1$$$, если после этого обмена массив стал отсортированным по возрастанию, и $$$0$$$ в противном случае.

Ваша программа должна завершиться, как только она получит ответ $$$1$$$ на запрос обмена.

Программа должна сделать как минимум один запрос обмена. Например, если скрытая перестановка уже отсортирована, она может сделать запрос "S 1 1", получить $$$1$$$ и завершиться.

Интерактор не является адаптивным. Исходная перестановка выбирается программой жюри заранее, до вашего первого запроса.

Примеры
Входные данные
4

-1

-1

1

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

C 1 2

C 2 3

C 3 4

S 3 4
Входные данные
1

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

S 1 1