Kolya has a string *s* of length *n* consisting of lowercase and uppercase Latin letters and digits.

He wants to rearrange the symbols in *s* and cut it into the minimum number of parts so that each part is a palindrome and all parts have the same lengths. A palindrome is a string which reads the same backward as forward, such as madam or racecar.

Your task is to help Kolya and determine the minimum number of palindromes of equal lengths to cut *s* into, if it is allowed to rearrange letters in *s* before cuttings.
The first line contains an integer *n* (1 ≤ *n* ≤ 4·10<sup class="upper-index">5</sup>) — the length of string *s*.

The second line contains a string *s* of length *n* consisting of lowercase and uppercase Latin letters and digits.
none
6
aabaac
2
aba aca 
8
0rTrT022
1
02TrrT20 
2
aA
2
a A 
1
s
1
s 
10
6IIC6CCIIC
1
6CCIIIICC6 
20
qqqoqqoqMoqMMMqqMMqM
4
MMMMM oqoqo qqMqq qqMqq 
45
f3409ufEFU32rfsFJSKDFJ234234ASkjffjsdfsdfsj33
15
202 323 343 393 4A4 FDF JEJ SFS dKd fUf fff fjf jkj srs sus 
30
8M8MMMMMlrMlMMrMMllMMrllMMrMrl
2
8MMMMMMlMMMMMM8 MMlllrrrrrlllMM 
40
TddTddddTddddddTdddTdddddddddddddddddddd
8
ddTdd ddddd ddTdd ddTdd ddTdd ddTdd ddddd ddddd 
45
RRNRRRRRRRRRNRRRRRRRRRRRRRRNRRRRRRRRRRRNRRRRR
1
NNRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRNN 
115
z9c2f5fxz9z999c9z999f9f9x99559f5Vf955c59E9ccz5fcc99xfzcEx29xuE55f995u592xE58Exc9zVff885u9cf59cV5xc999fx5x55u992fx9x
5
22555555555555555555522 89999999999899999999998 999999EEVccEccVEE999999 ccccfffffffVfffffffcccc uuxxxxxxzzzzzzzxxxxxxuu 
1
z
1
z 
2
ff
1
ff 
2
9E
2
9 E 
3
RRR
1
RRR 
3
001
1
010 
3
011
1
101 
3
101
1
101 
3
110
1
101 
3
111
1
111 
3
010
1
010 
3
100
1
010 
1
a
1
a 
1
A
1
A 
1
Z
1
Z 
1
0
1
0 
1
9
1
9 
print("_RANDOM_GUESS_1690497248.7365046")# 1690497248.7365258