F. Калькулятор беспорядков
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В этой задаче взломы отключены.

Мы рады представить новый язык для этого раунда Codeforces: язык Deranged Calculator (DC).

DC — это упрощённый язык программирования с некоторыми странными ограничениями. Он поддерживает только одно выражение в одной строке и получает на вход единственное положительное целое число $$$n$$$. Синтаксис выражения похож на синтаксис большинства языков программирования (на самом деле это корректное выражение Python), но сильно ограничен:

  • Выражения состоят из входного параметра $$$n$$$, выражений в скобках и вызовов функции round. Они соединяются операторами +, -, * и /.
  • Круглые скобки () можно использовать для изменения порядка операций, как обычно.
  • Операторы * и / имеют одинаковый приоритет и выполняются раньше операторов + и -, которые также имеют одинаковый приоритет. Операторы с одинаковым приоритетом вычисляются слева направо.
  • Функция round принимает в качестве аргумента одно выражение и округляет его значение до ближайшего целого числа, округляя вверх, если дробная часть в точности равна $$$0.5$$$. (Например, значение round(n/(n-n-n-n)) всегда будет равно $$$0$$$, потому что $$$x/(x-x-x-x)=-\frac{1}{2}$$$ для положительного целого числа $$$x$$$. Дробная часть равна $$$0.5$$$, поэтому число будет округлено вверх до $$$0$$$.)
  • В программе можно использовать только входное значение $$$n$$$; числовые константы запрещены.
  • Все операции выполняются с точными дробями, поэтому деление не округляет результат и может давать дробные числа.

Беспорядком $$$n$$$ чисел называется перестановка этих чисел, в которой ни одно число не стоит на исходной позиции. Например, беспорядками последовательности $$$[1, 2, 3]$$$ являются $$$[2, 3, 1]$$$ и $$$[3, 1, 2]$$$.

Вам дано одно целое число $$$k$$$. Требуется создать корректную программу на DC, которая для каждого целого $$$n$$$ ($$$2 \le n \le k$$$) вычисляет количество беспорядков последовательности $$$[1, 2, \ldots, n]$$$, когда $$$n$$$ подаётся на вход программе на DC. Длина программы не должна превосходить $$$10\,000$$$ символов.

Чтобы помочь вам при разработке решения, предоставлен инструмент локального тестирования. Его можно найти в разделе «Материалы соревнования».

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

Единственная строка входных данных содержит одно целое число $$$k$$$ ($$$k \in \{2,3,50\}$$$).

Ваша программа на DC должна выводить правильное количество беспорядков для всех целых чисел $$$n$$$, таких что $$$2 \le n \le k$$$.

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

Выведите корректное выражение DC в одной строке. Выражение должно состоять только из символов round()+-*/, а его длина не должна превосходить $$$10\,000$$$ символов.

Ваше выражение будет запущено для всех целых чисел $$$n$$$, таких что $$$2 \le n \le k$$$. При каждом таком запуске выражение DC ни в какой момент не должно выполнять деление на $$$0$$$, а его значение должно равняться количеству беспорядков из $$$n$$$ элементов.

Примеры
Входные данные
2
Выходные данные
n-n/n
Входные данные
3
Выходные данные
n+round(n-n*(n/(n+n)))-n
Примечание

В первом примере n-n/n — корректная программа на DC, вычисляющая $$$n-1$$$. Количество беспорядков при $$$n=2$$$ равно $$$1$$$, поэтому эта программа правильно вычисляет ответ для $$$n=2$$$.

Во втором примере используется немного переусложнённое выражение, демонстрирующее все возможности языка. При $$$n=3$$$ значение выражения равно: $$$3+\text{round}(3-3 \cdot(\frac{3}{3+3}))-3 = \text{round}(3 - \frac{3}{2}) = \text{round}(\frac{3}{2}) = \text{round}(1.5)=2$$$. Оно правильно вычисляет количество беспорядков последовательности $$$[1,2,3]$$$. При $$$n=2$$$ можно проверить, что значение выражения становится равным $$$1$$$.