#include<bits/stdc++.h>
using namespace std;
struct node {
int l,r;
};
node a[250];
string s;
int q;
int main (){
cin>>s;
cin>>q;
for (int i=1;i<=q;i++) {
cin>>a[i].l>>a[i].r;
}
int k=1;
while (q--) {
int cnt=0;
int len=a[k].r-a[k].l+1;
string p;
int cntlen=0;
for (int i=a[k].l-1;i<a[k].r;i++) {
if (s[i]=='a') {
cnt++;
}
p[cntlen]=s[i];
cntlen++;
}
if (cnt==len) {
cout<<"NULL"<<endl<<"Happy Chinese New Year!"<<endl;
}
else {
for (int i=cntlen-1;i>=0;i--) {
if (p[i]=='a') {
p[i]='z';
} else {
p[i]-=1;
break;
}
}
for (int i=0;i<cntlen;i++) {
cout<<p[i];
}
cout<<endl;
if (s.find(p)!=-1) {
cout<<"Happy New Year!"<<endl;
} else {
cout<<"Happy Chinese New Year!"<<endl;
}
k++;
}
}
return 0;
}