#include using namespace std; #define rep(i,a,b) for(ll i=a;i=b;i--) #define ll long long #define ull unsigned ll #define ld long double #define bl __int128_t #define fi first #define se second #define vel vector #define vvel vector #define pll pair #define vepll vector #define vvepll vector #define ves vector #define vem vector #define vvem vector #define pmm pair #define cleout(i) cout<using PQ=priority_queue,greater>; // 上 右 下 左 vector di={-1, 0, 1, 0}; vector dj={ 0, 1, 0,-1}; vector dx={ 0, 1, 0,-1}; vector dy={ 1, 0,-1, 0}; vector ddx={ 1, 1, 1, 0, -1, -1, -1, 0 }; vector ddy={ 1, 0, -1, -1, -1, 0, 1, 1 }; ll inf=1000000000000000000;//1e18 // LLONG_MAX mt19937_64 rng((ull)chrono::steady_clock::now().time_since_epoch().count()); //[x^M]1/(1-x)^N=comb(N-1+M,M) vector EulerianTrail(const int s, vvel &g, const bool directed) { function &)> dfs = [&](int u, vector &trail) { while (!g[u].empty()) { int v = g[u].back(); g[u].pop_back(); if (!directed) { for (int i = 0; i < g[v].size(); i ++) { if (g[v][i] == u) { g[v].erase(g[v].begin() + i); break; } } } dfs(v, trail); } trail.push_back(u); }; vector trail; dfs(s, trail); reverse(trail.begin(), trail.end()); return trail; } //https://kokiymgch.hatenablog.com/entry/2017/12/07/193238#g void _solve(){ vvel G(26); rep(i,0,26){ rep(j,0,26)G[i].push_back(j); } vector ans=EulerianTrail(0,G,1); rep(i,1,ans.size()){ char c=('A'+ans[i-1]); char d=('A'+ans[i]); cout<>_; else _=1; rep(__,0,_){ _solve(); } }