#include <bits/stdc++.h>
using namespace std;
#define db double
#define ll long long
#define ld long double
#define li long int
#define pb push_back
#define mp make_pair
#define FOR(i,a,b) for(i=a;i<b;i++)
#define RFOR(i,a,b) for(i=a;i>b;i--)
#define f first
#define s second
#define fast ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);srand(time(NULL));
#define pl pair<ll,ll>
#define pll pair<ll,pl>
#define plll pair<ll,pll>
#define all(a) a.begin(),a.end()
#define nl cout<<"\n"
#define inf LONG_LONG_MAX
#define minf LONG_LONG_MIN
#define pq priority_queue
#define pi 3.1415926535897932
bool isPrime(ll n)
{
if (n <= 1) return false;
if (n <= 3) return true;
if (n%2 == 0 || n%3 == 0)
return false;
for (ll i=5; i*i<=n; i=i+6)
{
if (n%i == 0 || n%(i+2) == 0)
return false;
}
return true;
}
ll gcd(ll a,ll b)
{
if(a==0) return b;
if(a<b) swap(a,b);
return gcd(a%b,b);
}
ll gcdextended(ll a,ll b,ll &x,ll &y)
{
if(a==0)
{
x=0;
y=1;
return b;
}
ll x1,y1,gcd=gcdextended(b%a,a,x1,y1);
x=y1-(b/a)*x1;
y=x1;
return gcd;
}
ll modinverse(ll a,ll m)
{
ll x,y;
ll g=gcdextended(a,m,x,y);
if(g!=1)
{
cout<<"NOT POSSIBLE";
return -1;
}
else
return (x%m+m)%m;
}
ll po(ll x,ll y)
{
ll res = 1;
while (y > 0)
{
if (y & 1)
res = (res*x);
y = y>>1;
x = (x*x);
}
return res;
}
ll pom(ll x,ll y,ll p)
{
ll res=1;
x=x%p;
while(y>0)
{
if(y&1)
res=(res*x)%p;
y= y>>1;
x=(x*x)%p;
}
return res;
}
ll root(ll x,vector<ll> &id)
{
while(id[x]!=x)
{
id[x]=id[id[x]];
x=id[x];
}
return x;
}
void uni(ll x,ll y,vector<ll> &id)
{
ll a=root(x,id);
ll b=root(y,id);
id[a]=id[b];
}
bool sec(const pl &a,const pl &b)
{
return a.s<b.s;
}
void solve()
{
printf("cccc");
}
int main()
{
fast;
ll t;
t=1;
//cin>>t;
while(t--)
{
solve();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGRiIGRvdWJsZQojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGxkIGxvbmcgZG91YmxlCiNkZWZpbmUgbGkgbG9uZyBpbnQKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSBGT1IoaSxhLGIpIGZvcihpPWE7aTxiO2krKykKI2RlZmluZSBSRk9SKGksYSxiKSBmb3IoaT1hO2k+YjtpLS0pCiNkZWZpbmUgZiBmaXJzdAojZGVmaW5lIHMgc2Vjb25kCiNkZWZpbmUgZmFzdCBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKSxjaW4udGllKDApLGNvdXQudGllKDApO3NyYW5kKHRpbWUoTlVMTCkpOwojZGVmaW5lIHBsIHBhaXI8bGwsbGw+CiNkZWZpbmUgcGxsIHBhaXI8bGwscGw+CiNkZWZpbmUgcGxsbCBwYWlyPGxsLHBsbD4KI2RlZmluZSBhbGwoYSkgYS5iZWdpbigpLGEuZW5kKCkKI2RlZmluZSBubCBjb3V0PDwiXG4iCiNkZWZpbmUgaW5mIExPTkdfTE9OR19NQVgKI2RlZmluZSBtaW5mIExPTkdfTE9OR19NSU4KI2RlZmluZSBwcSBwcmlvcml0eV9xdWV1ZQojZGVmaW5lIHBpIDMuMTQxNTkyNjUzNTg5NzkzMgoKYm9vbCBpc1ByaW1lKGxsIG4pCnsKICAgICAgICBpZiAobiA8PSAxKSAgcmV0dXJuIGZhbHNlOwogICAgICAgIGlmIChuIDw9IDMpICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgCiAgICAgICAgaWYgKG4lMiA9PSAwIHx8IG4lMyA9PSAwKSAKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAKICAgICAgICBmb3IgKGxsIGk9NTsgaSppPD1uOyBpPWkrNikKICAgICAgICB7CiAgICAgICAgICAgIGlmIChuJWkgPT0gMCB8fCBuJShpKzIpID09IDApCiAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9ICAKICAgICAgICByZXR1cm4gdHJ1ZTsKfQpsbCBnY2QobGwgYSxsbCBiKQp7CiAgICBpZihhPT0wKSAgICByZXR1cm4gYjsKICAgIGlmKGE8Yikgc3dhcChhLGIpOwogICAgcmV0dXJuIGdjZChhJWIsYik7Cn0KbGwgZ2NkZXh0ZW5kZWQobGwgYSxsbCBiLGxsICZ4LGxsICZ5KQp7CiAgICBpZihhPT0wKQogICAgewogICAgICAgIHg9MDsKICAgICAgICB5PTE7CiAgICAgICAgcmV0dXJuIGI7CiAgICB9CiAgICBsbCB4MSx5MSxnY2Q9Z2NkZXh0ZW5kZWQoYiVhLGEseDEseTEpOwogICAgeD15MS0oYi9hKSp4MTsKICAgIHk9eDE7CiAgICByZXR1cm4gZ2NkOwp9CmxsIG1vZGludmVyc2UobGwgYSxsbCBtKQp7CiAgICBsbCB4LHk7CiAgICBsbCBnPWdjZGV4dGVuZGVkKGEsbSx4LHkpOwogICAgaWYoZyE9MSkKICAgIHsKICAgICAgICBjb3V0PDwiTk9UIFBPU1NJQkxFIjsKICAgICAgICByZXR1cm4gLTE7CiAgICB9CiAgICBlbHNlCiAgICAgICAgcmV0dXJuICh4JW0rbSklbTsKfQpsbCBwbyhsbCB4LGxsIHkpIAp7IAogICAgbGwgcmVzID0gMTsgICAgICAgIAogICAgd2hpbGUgKHkgPiAwKSAKICAgIHsgCiAgICAgICAgaWYgKHkgJiAxKSAKICAgICAgICAgICAgcmVzID0gKHJlcyp4KTsgCiAgICAgICAgeSA9IHk+PjE7CiAgICAgICAgeCA9ICh4KngpOyAgIAogICAgfSAKICAgIHJldHVybiByZXM7IAp9CmxsIHBvbShsbCB4LGxsIHksbGwgcCkKewogICAgbGwgcmVzPTE7CiAgICB4PXglcDsKICAgIHdoaWxlKHk+MCkKICAgIHsKICAgICAgICBpZih5JjEpCiAgICAgICAgICAgIHJlcz0ocmVzKngpJXA7CiAgICAgICAgeT0geT4+MTsKICAgICAgICB4PSh4KngpJXA7CiAgICB9CiAgICByZXR1cm4gcmVzOwp9CmxsIHJvb3QobGwgeCx2ZWN0b3I8bGw+ICZpZCkKewogICAgd2hpbGUoaWRbeF0hPXgpCiAgICB7CiAgICAgICAgaWRbeF09aWRbaWRbeF1dOwogICAgICAgIHg9aWRbeF07CiAgICB9CiAgICByZXR1cm4geDsKfQp2b2lkIHVuaShsbCB4LGxsIHksdmVjdG9yPGxsPiAmaWQpCnsKICAgIGxsIGE9cm9vdCh4LGlkKTsKICAgIGxsIGI9cm9vdCh5LGlkKTsKICAgIGlkW2FdPWlkW2JdOwp9CmJvb2wgc2VjKGNvbnN0IHBsICZhLGNvbnN0IHBsICZiKSAgCnsKICAgIHJldHVybiBhLnM8Yi5zOwp9CnZvaWQgc29sdmUoKQp7CiAgICBwcmludGYoImNjY2MiKTsKfSAgIAppbnQgbWFpbigpCnsKICAgIGZhc3Q7CiAgICBsbCB0OwogICAgdD0xOwogICAgLy9jaW4+PnQ7CiAgICB3aGlsZSh0LS0pCiAgICB7CiAgICAgICAgc29sdmUoKTsKICAgIH0KICAgIAp9Cg==