#include #include #include #include #include #include using namespace std; int A(int n) { int j=0; while((1<sa=atcoder::suffix_array(S); vectorlcp=atcoder::lcp_array(S,sa); long ret=0; for(int l:lcp)ret+=l; return ret; } vector >G; string V; void dfs(int u) { while(!G[u].empty()) { int v=G[u].back(); G[u].pop_back(); dfs(v); //u->v V+='a'+(v&1); } } string mk(int n) { int a=A(n); G.assign(1<()); for(int i=0;i<1<=n-2); if(cnt==n-2)cnt++,G[0].push_back(0); if(cnt==n-1)cnt++,G[(1<=n); //for(int i=0;i+n<=V.size();i++)cout<can; for(int i=0;i<1<>N-j-1&1?'b':'a'; long t=f(S); if(mn>t)mn=t,can.clear(); if(mn==t)can.push_back(S); } cout<<"N = "<>T; for(;T--;) { int N;cin>>N; cout<