#pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include #include using namespace std; using namespace atcoder; using ll=long long; void IO(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); } int main(){ IO(); ll k; cin>>k; vector s={ "N0U0P0C0","N0U0P0C1","N0U0P1C0","N0U0P1C1", "N0U1P0C0","N0U1P0C1","N0U1P1C0","N0U1P1C1", "N1U0P0C0","N1U0P0C1","N1U0P1C0","N1U0P1C1", "N1U1P0C0","N1U1P0C1","N1U1P0C1","N1U1P1C1", }; vector ans; for(ll i=0;i<16;i++){ string str; for(ll j=0;j<8;j++){ if(j%2==0){ str+=s[i][j]; }else{ if(s[i][j]=='1'){ str=str+str; } } } ans.push_back(str); } sort(ans.begin(),ans.end()); cout<