#define _GLIBCXX_DEBUG #include #include #include using namespace atcoder; using namespace std; typedef long long ll; typedef pair pi; #define ALL(x) x.begin(),x.end() #define rep(i,a,b) for(int i=a;i; using vvi = vector; using li =vector; using lli=vector
  • ; using si =vector; using ssi =vector; const long long INF = 1e18; const long long MOD=1e9+7; //for (auto [key, val] : mp) int main() { int n;cin>>n;string ans=""; vectorvec(n); mapmp; mapMP; mp["a"]=0; mp["b"]=1; mp["c"]=2; mp["e"]=4; mp["d"]=3; mp["f"]=5; mp["g"]=6; mp["h"]=7; mp["i"]=8; mp["j"]=9; mp["k"]=10; mp["l"]=11; mp["m"]=12; mp["n"]=13; mp["o"]=14; mp["p"]=15; mp["q"]=16; mp["r"]=17; mp["s"]=18; mp["t"]=19; mp["u"]=20; mp["v"]=21; mp["w"]=22; mp["x"]=23; mp["y"]=24; mp["z"]=25; for(auto[a,b]:mp)MP[b]=a; rep(i,0,n)vec[i]="a"; rep(i,0,n){string ch=""; rep(j,0,n)ch+=vec[j]; cout<<"? "<>a; rep(j,1,26){ch=""; rep(k,0,n){if(k!=i)ch+=vec[k]; else ch+=MP[j];} cout<<"? "<>b; if(b>a){vec[i]=MP[j];break;} else if(b