CBOJ Winter Contest Problem 1 - Cyclic Isomers

Submit solution

Points: 7 (partial)
Time limit: 1.0s
Memory limit: 512M

Problem type

Bob is learning organic chemistry!

One recent concept Bob learned is how molecules can rotate in 3D space and retain its properties. He wants to apply this to some arrays now:

You are given an array with \(N\) integers. The array can be rotated to the right by moving the last element to the front, and this can be done as many times as Bob wants. How many distinct arrays can you make?

Two arrays are said to be identical if each element's value when read from left to right is the same.

Please help Bob find the answer!

Input Specification

The first line contains an integer \(N\) \((1 \le N \le 100)\), representing the number of elements in the array.

The next line contains \(N\) integers with values ranging from \(0\) to \(10^6\), describing Bob's array.

Output Specification

Output an integer, indicating the number of distinct arrays Bob can make by rotating his array.

Sample Input

1 2 1 2

Sample Output


Sample Explanation

There are two distinct arrays Bob can make:

  • \([1, 2, 1, 2]\), which is formed with the initial array,
  • \([2, 1, 2, 1]\), which is formed by rotating either 1 or 3 times to the right.


There are no comments at the moment.