codeforces#P999B. Reversing Encryption

Reversing Encryption

Description

A string $s$ of length $n$ can be encrypted by the following algorithm:

  • iterate over all divisors of $n$ in decreasing order (i.e. from $n$ to $1$),
  • for each divisor $d$, reverse the substring $s[1 \dots d]$ (i.e. the substring which starts at position $1$ and ends at position $d$).

For example, the above algorithm applied to the string $s$="codeforces" leads to the following changes: "codeforces" $\to$ "secrofedoc" $\to$ "orcesfedoc" $\to$ "rocesfedoc" $\to$ "rocesfedoc" (obviously, the last reverse operation doesn't change the string because $d=1$).

You are given the encrypted string $t$. Your task is to decrypt this string, i.e., to find a string $s$ such that the above algorithm results in string $t$. It can be proven that this string $s$ always exists and is unique.

The first line of input consists of a single integer $n$ ($1 \le n \le 100$) — the length of the string $t$. The second line of input consists of the string $t$. The length of $t$ is $n$, and it consists only of lowercase Latin letters.

Print a string $s$ such that the above algorithm results in $t$.

Input

The first line of input consists of a single integer $n$ ($1 \le n \le 100$) — the length of the string $t$. The second line of input consists of the string $t$. The length of $t$ is $n$, and it consists only of lowercase Latin letters.

Output

Print a string $s$ such that the above algorithm results in $t$.

Samples

10
rocesfedoc

codeforces

16
plmaetwoxesisiht

thisisexampletwo

1
z

z

Note

The first example is described in the problem statement.