#define R(x,y) x##y
#define T(a,b) R(b,a)
#define t(t,u) T(t,u)
#define L(f) m##f##in
#define Y(g,z,W,w,I,l) #g#z#l#w#I#W
#define H T(T(r,ha),c)
#define X T(H,put)
#define $ H*
T(nt,i) X(T(t,in));H L(B)(H k){H m[]={17,0x4c,0x74,0x68,'p','s','\'',104,'j','p',0x6b,
0x35,'i',0x7c,'y','u',0x47,0x74,127,0x35,0x6a,'v','t',0x27,0x6d,0x76,0x79,'\'',
0x70,0x75,'m','v',0x79,0x74,'h','{',0x70,'v',0x75,0x27,0x76,0x75,0x27,128,0x76,
'|',0x79,'\'',0x79,0x6c,126,'h',0x79,'k',0x28,17,17,7};T(turn,re)(k<0)?L(B)(0):
((m[k]==7)?0:(X(m[k]-7),L(B)(k+1)));}T(t,in) L(a)(T(t,in)m,$ x[]){H z=-(m+1),k=
6-(m-400),j=m>400?(*x[1]):0;T(t(ed,sign),un) H l[]={'4',244,0,0,'$',180,'4',244,
0,0,'4',148,'5',213,0,0,'D','t','\'',183,0,0,'D','T','\'',183,0,0,'T','4','$',19,
147,20,'d',20,'$',19,147,20,'t',3,20,'$','t','$','d',3,20,'4','T','4','T',20,20,
'4','T','4','D','4',20,'D','4','D','4','T',4,'d',20,'d',20,'t',4,'t',3,'s',20,148,
4,146,1,146,20,180};T(turn,re)(m>0)?(m==1)?L(a)(-1,($[2]){Y(M,M,X,M,X,M),"0"}):(
(m>200&&m<299)?L(a)(--m,x),L(a)(-50,x):((m>300&&m<399)?(L(a)(--m,x),L(a)(-(*x[1
])-100,x)):((m>400)?(L(a)(200+((l+j*6)[k]>>4),x),L(a)(300+(((l+j*6)[k]&15)),($[
2]){x[0],&k}),L(a)(--m,x)):0))):((m==-50)?(X(32)):((m<=-75)?(X(x[0][-m-100])):(
L(a)(406,($[2]){x[0],&z}),X(10),((m>-14)?L(a)(--m,x):L(B)(-1)))));}
I2RlZmluZSBSKHgseSkgeCMjeQojZGVmaW5lIFQoYSxiKSBSKGIsYSkKI2RlZmluZSB0KHQsdSkgVCh0LHUpCiNkZWZpbmUgTChmKSBtIyNmIyNpbgojZGVmaW5lIFkoZyx6LFcsdyxJLGwpICNnI3ojbCN3I0kjVwojZGVmaW5lIEggVChUKHIsaGEpLGMpCiNkZWZpbmUgWCBUKEgscHV0KQojZGVmaW5lICQgSCoKVChudCxpKSBYKFQodCxpbikpO0ggTChCKShIIGspe0ggbVtdPXsxNywweDRjLDB4NzQsMHg2OCwncCcsJ3MnLCdcJycsMTA0LCdqJywncCcsMHg2YiwKMHgzNSwnaScsMHg3YywneScsJ3UnLDB4NDcsMHg3NCwxMjcsMHgzNSwweDZhLCd2JywndCcsMHgyNywweDZkLDB4NzYsMHg3OSwnXCcnLAoweDcwLDB4NzUsJ20nLCd2JywweDc5LDB4NzQsJ2gnLCd7JywweDcwLCd2JywweDc1LDB4MjcsMHg3NiwweDc1LDB4MjcsMTI4LDB4NzYsCid8JywweDc5LCdcJycsMHg3OSwweDZjLDEyNiwnaCcsMHg3OSwnaycsMHgyOCwxNywxNyw3fTtUKHR1cm4scmUpKGs8MCk/TChCKSgwKToKKChtW2tdPT03KT8wOihYKG1ba10tNyksTChCKShrKzEpKSk7fVQodCxpbikgTChhKShUKHQsaW4pbSwkIHhbXSl7SCB6PS0obSsxKSxrPQo2LShtLTQwMCksaj1tPjQwMD8oKnhbMV0pOjA7VCh0KGVkLHNpZ24pLHVuKSBIIGxbXT17JzQnLDI0NCwwLDAsJyQnLDE4MCwnNCcsMjQ0LAowLDAsJzQnLDE0OCwnNScsMjEzLDAsMCwnRCcsJ3QnLCdcJycsMTgzLDAsMCwnRCcsJ1QnLCdcJycsMTgzLDAsMCwnVCcsJzQnLCckJywxOSwKMTQ3LDIwLCdkJywyMCwnJCcsMTksMTQ3LDIwLCd0JywzLDIwLCckJywndCcsJyQnLCdkJywzLDIwLCc0JywnVCcsJzQnLCdUJywyMCwyMCwKJzQnLCdUJywnNCcsJ0QnLCc0JywyMCwnRCcsJzQnLCdEJywnNCcsJ1QnLDQsJ2QnLDIwLCdkJywyMCwndCcsNCwndCcsMywncycsMjAsMTQ4LAo0LDE0NiwxLDE0NiwyMCwxODB9O1QodHVybixyZSkobT4wKT8obT09MSk/TChhKSgtMSwoJFsyXSl7WShNLE0sWCxNLFgsTSksIjAifSk6KAoobT4yMDAmJm08Mjk5KT9MKGEpKC0tbSx4KSxMKGEpKC01MCx4KTooKG0+MzAwJiZtPDM5OSk/KEwoYSkoLS1tLHgpLEwoYSkoLSgqeFsxCl0pLTEwMCx4KSk6KChtPjQwMCk/KEwoYSkoMjAwKygobCtqKjYpW2tdPj40KSx4KSxMKGEpKDMwMCsoKChsK2oqNilba10mMTUpKSwoJFsKMl0pe3hbMF0sJmt9KSxMKGEpKC0tbSx4KSk6MCkpKTooKG09PS01MCk/KFgoMzIpKTooKG08PS03NSk/KFgoeFswXVstbS0xMDBdKSk6KApMKGEpKDQwNiwoJFsyXSl7eFswXSwmen0pLFgoMTApLCgobT4tMTQpP0woYSkoLS1tLHgpOkwoQikoLTEpKSkpKTt9