#include<bits/stdc++.h>
using namespace std;
int b[30];
bool f[105];
vector<int> a;
void node(int x){
for(int i = 2; i <= x; i++) {//倍数
if(f[i] == 0) {//i是质数
a.push_back(i);//把质数放进动态数组
}
for(int j = 0; j < a.size(); j++) {
int p = a[j];//动态数组里的质数
if(p * i > x) {//防止数组越界
break;
}
f[i * p] = 1;//合数
if(i % p == 0) {//减少重复筛选
break;
}
}
}
}
int main() {
node(100);
string s;
cin >> s;
for(int i = 0;i < s.size();i++){
b[int(s[i] - 'a')]++;
}
int maxn = 0 , minn = 10000;
for(int i = 1;i < 27;i++){
maxn = max(maxn , b[i]);
minn = min(minn , b[i]);
}
int x = maxn - minn;
for(int i = 0;i < a.size();i++){
if(a[i] == x){
cout << "Lucky Word" << endl << x;
return 0;
}
}
cout << "No Answer" << endl << 0;
return 0;
}
用的是欧拉筛创建质数表然后对比的方法,样例也过不了,求调