In the event of technical difficulties with Szkopuł, please contact us via email at szkopul@fri.edu.pl.

If you are familiar with IRC chat, the support team is also reachable on PIRC network (`irc.pirc.pl`

) in `#szkopul`

channel. If you are not, just use email.

Please do not ask us things like "how to solve task XYZ?".

Please remember that the support team has to sleep sometimes or go to work in real life.

Byteman knocked at Byteguy's door at exactly 5 pm. This was not necessary, though, as Byteguy had known his punctuality well and was about to open the door.

After drinking a cup of warm tea, Byteguy brought a chessboard to play a chess game, as they had planned, but Byteman said that perfect information games are not challenging enough and it might be a good idea to do something else. Being unable to come up with sufficient arguments, Byteguy had to agree. Finding an intellectual challenge, which they had never tried, took them some time, but after a while friends decided to solve the following problem.

You are given a chessboard. Compute the number of ways in which you can put rooks on it in such a way, that in each column and in each row there is at most one rook. Moreover, the arrangement of rooks should look exactly the same after rotating the chessboard by (in horizontal plane).

The colouring of chessboard fields can change after the rotation, but it does not matter here.

The first and only line of the standard input contains a single integer ().

Your program should write to the standard output a single line containing one integer - the number of different arrangements of rooks on a chessboard, in which there is at most one rook in every row and every column and the arrangement does not change after rotating the chessboard by .

For the input data:

1

the correct result is:

1

*Task author: Lukasz Bieniasz-Krzywiec.*