1 /*
2 寻找x使得目标函数的值最小。
3 先统计字符串每个字母的出现次数,然后暴力穷举所有可能的x
4 每个都计算一次目标函数,取最小的即可。
5 */
6 #include <bits/stdc++.h>
7 using namespace std;
8 const int inf=0x3f3f3f3f;
9 string s;
10 int scnt[30];
11 int main()
12 {
13 cin>>s;
14 int maxn=0;
15 int len=s.length();
16 for(int i=0;i<len;i++)
17 {
18 scnt[s[i]-97]++;
19 if(maxn<scnt[s[i]-97])
20 maxn=scnt[s[i]-97];
21 }
22 int minn=inf;
23 int ans=2;
24 for(int i=2;i<=maxn;i++)
25 {
26 long long t=0;
27 for(int j=0;j<26;j++)
28 t+=(scnt[j]%i)*(long long )scnt[j];
29 if(minn>t)
30 {
31 minn=t;
32 ans=i;
33 }
34 }
35 cout<<ans<<endl;
36 }