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

Влад М. недавно окончил лицей и наконец-то поступил в лучший университет на свете — СГАУ! Влад — прирождённый лидер, поэтому одногруппники сразу же выбрали его своим старостой. Большая часть занятий в СГАУ проходит по подгруппам, и расписание составлено исходя из того, что каждая группа разделена на две подгруппы. Староста должен составить списки подгрупп и отнести их в деканат. Это означает, что Влад должен записать каждого студента в подгруппу #1 или в подгруппу #2. Разумеется, каждый студент должен быть записан ровно в одну подгруппу. Размеры подгрупп могут быть любыми; допустимо, что в одной из подгрупп может не быть ни одного студента.

Некоторые одногруппники уже успели сдружиться, а некоторые, напротив, уже недолюбливают друг друга. Так что на Влада посыпалась куча просьб вида «Я безумно влюблён в XX, поэтому хочу учиться с ней в одной подгруппе», «XY странно смотрит на меня, мне кажется, он сумасшедший, не хочу оказаться в одной подгруппе с ним» и т.д. Конечно, были и пожелания иного рода, например, «Я хочу учиться в подгруппе #1, так как там нет пар в 8 часов утра в понедельник». Но этих просьб и пожеланий было очень, очень много...

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

«Достаточно просто перебрать все возможные разбиения на подгруппы и посчитать для каждого разбиения, сколько просьб будет выполнено. Плёвое дело!» — рассуждал Влад. Внезапно его посетила мысль, что количество возможных разбиений может быть настолько большим, что программа не сможет проверить их все не только до конца семестра, но и до конца обучения.

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

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

В первой строке входных данных записано единственное целое число n (2 ≤ n ≤ 109) — количество студентов в группе Влада, включая его самого.

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

В первой строке выведите количество возможных разбиений на подгруппы.

Если количество возможных разбиений на подгруппы больше 106, выведите вместо количества возможных разбиений TOO HARD (в точности так, как записано).

Примеры
Входные данные
3
Выходные данные
8
Входные данные
21
Выходные данные
TOO HARD
Примечание

Пояснение к первому примеру.

Есть 8 способов разбиения:

1) первая подгруппа — студенты 1, 2 и 3, вторая подгруппа — никого;

2) первая подгруппа — студенты 1 и 2, вторая подгруппа — студент 3;

3) первая подгруппа — студенты 1 и 3, вторая подгруппа — студент 2;

4) первая подгруппа — студент 1, вторая подгруппа — студенты 2 и 3;

5) первая подгруппа — студенты 2 и 3, вторая подгруппа — студент 1;

6) первая подгруппа — студент 2, вторая подгруппа — студенты 1 и 3;

7) первая подгруппа — студент 3, вторая подгруппа — студенты 1 и 2;

8) первая подгруппа — никого, вторая подгруппа — студенты 1, 2 и 3.