fork download
  1. #include <iostream>
  2. #include <functional>
  3. #include <sstream>
  4. #include <string>
  5. #include <vector>
  6. using namespace std;
  7.  
  8. string s = "una bokpr ftz ryw nau yknf fguaczl anu\n"
  9. "tvay wvco bcoblpt fwzg sfsys zvuqll mcbhwz ovcw fgdy\n"
  10. "ynsocz vid rfmsy essqt fpbjvvq sldje qfpvjvb\n"
  11. "yvh nxc kla vhy vkbq cxfzgr\n"
  12. "kljv ymobo jlvk ebst cse cmlub tavputz omoby psif\n"
  13. "ebfuvvu paqgzri uvvubef hglk jvn gzeln bdl ziqgpra bzcfa\n"
  14. "tclq ytw tclq tezcqys\n"
  15. "qae eofr yzwcwqf wqm ytcdnc pxnmkw\n"
  16. "krryi irykr ycp lbeed ykrir lhq rdd tyujwd\n"
  17. "hms pii lxoa dchsvz bepjwst bllxkqg hsm yrdj myzvju msh lwnnc\n"
  18. "yxqh hqxy xkn ljjsqjh jjljshq\n"
  19. "mhgsehj urbvnvf gbz ykxsd hsmgehj wtoc ujpfaos eir vifog tsy kdo\n"
  20. "wfruf wwijme pxbbsvf asmgs ccbn vwtc mkhah oxxfh\n"
  21. "lxqy jzvcvd cfgg uahxrwr dqmaqr bwzm wruxhra lrb lmk\n"
  22. "jspgxo yuhgni njzqtn zglkzz ybc itj orqr zgqwuoo mjagh erll srqrk\n"
  23. "cbrtnbx ukblei ienmdm sinzq lytyliz mma lizylty zeumwgu\n"
  24. "aeggz eljcry buqdeog dvjzn ilvw arz vep kxdzm mvh szkf\n"
  25. "imn sfty ugg flqq nydky mni bkqzlok wye lehwlmp xeyfmj\n"
  26. "beyv oamrpkc tebdkwv zlq jes mqvif sej qpsnmjz edvtbkw\n"
  27. "hylmacl wwlra xntnvg ppvb bzof cymllha\n"
  28. "qktxomf ngfpuz qqz malc zxuqz szg zis vzro rfpgk\n"
  29. "phru sxlg qzqlw uej vmd omzga jue\n"
  30. "drzgojf ttqdqar weikik wvrjtxi gbj jramqh nlwoj drzgojf bgabmn xqlaeun\n"
  31. "aiuohu pca apkmv cpa kmvpa nmdn\n"
  32. "gelymv eto itcnuhn ote teo\n"
  33. "oxiz xzio kqu wwgow\n"
  34. "picoyb coibpy acsw ehlirq deyz gymqvz opicyb vuet lrl\n"
  35. "zerg rezg miwtjgw gezr cui\n"
  36. "mlh qlu ktil tnlgnrk bfqbk pgg qxeyd noadmjo nonlsh eqxdy\n"
  37. "yqqaq yqqqa xod oss\n"
  38. "mkotw bznvs xowoofq sebp wsgpsmn fytcpc vvmzr vmzrv xwtxz zrvvm\n"
  39. "dvs twhz teqmlow oqg sjetxd aku cwl qfvrkex mndsio hfg\n"
  40. "itdl qwdagkk wli tdil vlgur dyl xvfm\n"
  41. "wlmyd dwmlx zhmqd zqmhd edzsvmz yclg umpq\n"
  42. "petva gazw byrca pvaet epkoqh nlp vqfl vatpe\n"
  43. "rykn ckr dijkme kmiedj ozlh deikmj\n"
  44. "kuecjh sfqv pojfzf fjopzf fjpfzo amxtc\n"
  45. "hri gglmial lrwbyc memgszu hir cfwlg ylcrwb\n"
  46. "rxrfbtv pwpra fngt auh rapwp zrruuq uah\n"
  47. "cevc utfd ysrfcw nnlg fnqtx aua htteunu mrjhhj\n"
  48. "tvnxznj mvpagt nqmxvnl mutn ntmu eybh vkqeaj frayclp\n"
  49. "ygktzxo lzwwy qsipu nwb jdmw pahao paow mwjd uivqbnj woap nyyogcc\n"
  50. "log zihz rsmx ixfr xwvd osg zxc gol ufnbig\n"
  51. "dogve cnb osa xbafl vefr nxlw yjgquui\n"
  52. "ucyl aaoae ktjvi fyps xvjhpbh iiur tuc\n"
  53. "pqt jasxg ehhs lzjzzzl sqmmj vwyva eklbtv hksanb fuesnd oyw fuesdn\n"
  54. "uankv wesi frhpau qiucu lim uzbdapf ciwjd tifbqxh tfbtsdi\n"
  55. "vgjd izpofu fqjpcct phuz\n"
  56. "cfg cfg rgahl frm emn pbfsmgy frm jemwqgn sfpm azunntj igl\n"
  57. "daps hpe fqg err sapd dci vbzlqx gsigq eyp rre\n"
  58. "iuqyqdy djprdj mgtkdxr pwmkzv wmkvzp hppisd pidphs\n"
  59. "rlr rrl vhevh cucprc xki urte lrr zfc xrqydzk ipjkyxj kytul\n"
  60. "jwbkaee rgyjl rjljbwe ppq plp pfts ijd ckpvmw mbdrqh zolt lzmr\n"
  61. "alw law awl wknavtb esklsbj wvssyai\n"
  62. "aqy ldf qdht soxkg qtfipe nsdm aqe rtlc fbqrk ius gybbhxr\n"
  63. "xteov wgqoqim nlz szlj oxevt xwb\n"
  64. "tmgdst fyn oul tsohzbq ltmxji fgops gatssx zxdzfc talb\n"
  65. "zkvjpu jnhtc nxs jqv pyoqz zsj ckwd xot ykai\n"
  66. "fxfarre yjbxvj lqfaglo mbxuv bmuxv bxumv\n"
  67. "yrhi uosldj hryi fwres ycygw ycvxze zevxyc iyk\n"
  68. "yphev xisbai xdb hzrbg ayxbhdx qnvbus pwc\n"
  69. "wytqraw yvurj erqckl rvrvda xsh gsd bxtm acxle gpndk\n"
  70. "kpvjtu vacggk oabcuoq qusf zitqpgn pbyq ocabouq ntpgizq gaiiry dke\n"
  71. "frz ceozajo ljltawq tjepzp iflv\n"
  72. "zntejm dkfgc ysno noys sony muy\n"
  73. "qdnyvvw oykq bnmldt zjgauw pviurd cbcnl tnkhq ebsey bccln arvwe\n"
  74. "iqazt xidjgom wcrdz itht lfh ifzwkj rwqxhy ervcgmt vojg lzntz ezg\n"
  75. "tlcxioh qvvkan wpi ody\n"
  76. "mhsy dwm hyms yegvvc\n"
  77. "hbkvi wvemc uwxgqf pwrgu wcy wxqfgu qkzppc vxcwdwd rcgp ivjd wmevc\n"
  78. "upc ucp cpu unmr pyod\n"
  79. "bqfew ebwfq paccwh phgc fchhr jrnio\n"
  80. "abh bjalls bdtac zzvt totdlc yptqmgu rpcin bch cqklqly\n"
  81. "bsnss qcsgi tegyz lqoqkpf qvatlyu ibza mzfotsk lye oqqf mnor\n"
  82. "lzrxca stkbn axhr wckbip bsntk ahrx\n"
  83. "oricdw cnpte dbz nqx xloxc bdz fdsl uyvgi nvoy ezbi\n"
  84. "nlcqye ofta jcvqvtg yxduyh btawc tjgvqvc tcvqjvg\n"
  85. "nji znctdfm kkmp pmt ikhl jjoubc xnp zdctnmf covvmsh ydh ircplcm\n"
  86. "yafkuk yasqsyt ytqayss nusgb ukfyka\n"
  87. "yogcf emg jlkd blupemf axg wihhrb ysernt yznhz\n"
  88. "gmc yyqtgp use lohoit\n"
  89. "lclwa ojjkm rxr rrx\n"
  90. "punyfv iphw ddbc jghx lrssszc bepexv sicpy syicp lszrscs vrqjb\n"
  91. "rjanra juh hljdmad scu usc baifu ijs suc bgdbbv\n"
  92. "ogs hehi lgiwowc wwezznc ogs lorcl naunpll wlmal ajcbj ciujw\n"
  93. "slenm xxod vhf amhts\n"
  94. "mrrduda mrrduda lwecwjv lwecwjv vvzmjla cjipv\n"
  95. "ixnv invx inmzz aoxghpv\n"
  96. "ulyvfrf zsup zfryjy xoo agdsd giw papa ljtu rzbjiq wrex\n"
  97. "bzpv svpuyov mklrct uzox\n"
  98. "fxs iypd uaqch kxazj ksjyv\n"
  99. "uxaommf xtq uubbfk bmlq kdhgjzg oxwpag itfij irmkjx ggod sddcyo bopn\n"
  100. "lch plmvfni qbjr dnu zjcod qlwax gejmyj gxjqm mfzkb gejmyj\n"
  101. "yoa thrfbto wposvrm amulogu mcqzfax fjquli oay\n"
  102. "kywj kqqhney ozuljxz wqwfte ubo mjj anhhg aphy ocfnef yhin ywnx\n"
  103. "vxuledm wllj obqtsrr jwll uvmelxd xvj gbwte\n"
  104. "hevc bitwu ydw ywd btiwu iuether gfe\n"
  105. "dzn ssmfpel wbbdeyt xge hrfi\n"
  106. "zebz ifhq euto ppfnrwc winkkj\n"
  107. "utuly wtdt iahpe ihtxwmh zxun bqluj hsaxgcs ytluu jlfnnuv drxlctr myhp\n"
  108. "kwxgy hreul rsnh wdmsx kkajywb\n"
  109. "bond djq kccazc zvzcie hndm myx cmhyhkc ove ord dqj\n"
  110. "zcong tekgn pbzs ywqgqgu eizrx ypydeku yqyjdjp dwsu zxire zcgon iggnvf\n"
  111. "tkioh hflkm fsjz gisjbi otikh\n"
  112. "ccdqqm fdabbne fyd lbyqm cyzgtd puitvjz nluf hirrpxd tgxrg vvl\n"
  113. "hjnygbz fnu twwbp xqw pfdlt uoalyme rsd muayeol ezcq\n"
  114. "kubeooi bxgwoun paogjs twvwlji opsajg higbdfi aazo evmj\n"
  115. "sfipxe mqbkmrn plwqd zvq nmvom fyfbs nbs qkrbmmn eym kqnrmbm\n"
  116. "ruhsp hurps mqws umm sphru\n"
  117. "ksjs pgpxh qozg enplxbn oqzg rvjnaje sjsk\n"
  118. "rbwbvog mhgtgg uld twrqz rbf kpop\n"
  119. "lwho lohw ylhd dej lydh vsfffsm\n"
  120. "icljgu gluijc vthqx orynv xhvqt\n"
  121. "biav elxkct mtaw nlafk snyr cbqdwim blim rtrqmc wze cxktel\n"
  122. "fgpeia ebkhga azlfsr bsj pipvwsd nry bayrjzl ftth ynr mfhd\n"
  123. "ymlowur nighqgk yjv pyxf nan xamb ohm jvy owrxbg icbz\n"
  124. "iyyt linaqu httt zyfeo udap mllq pdxo lpl djhqaou zkit llp\n"
  125. "dxspk yge kcqjqpz ulb hoe mfx nwayo\n"
  126. "rdnmmh gyqd qhxrzj dgizu lyittbv txngpdg fiu mwd ndp oks vxnxybi\n"
  127. "eul ztpe evnz yxx iuwon rkbbsw liy mqhxt\n"
  128. "qahp zwn ualtk txbt cbthj xchqy pirucp povdwq\n"
  129. "mqwu mwww muiafa miaafu hzripx wmww\n"
  130. "auw hyyi ylewfi ihva jknbrry voxzooq xaos xymv qzzjw hjc\n"
  131. "enpb jqa ajciy cbeopfs tqrlqj ecudb gso cyjai gxoet\n"
  132. "yohkjj yohjjk xapawgo rtgnjj\n"
  133. "lnlxxn nxllnx vhjrev uoew zts smkd kynlrg\n"
  134. "bkblpr vgafcy alju aiyqe eebtsyu buve hdesodl pspbohw\n"
  135. "aacmw qpndwo tcwsfqy qecnms wondpq sto\n"
  136. "wdsyxe edsxyw jnzruiw pfqdrhi\n"
  137. "pfgxekl vswgxhb qyn mykn jimiatq zkcz jimiatq kaexgxm mykn\n"
  138. "xegwn upudt dew uqjrcl abyof hbtiko wxgne sorgno etm\n"
  139. "xzojs zxsjo szjox gumjtwi\n"
  140. "gttngkk bwdgce bhuw fgo rcbf byw\n"
  141. "ngtzwqx ptx xodmy ctmtf oioahmm qajlhje jzilpk cvypp ijaefz\n"
  142. "arlx slcugvm hyuo zoptsh emyr tndx rroecp tdnx xea rtkpd\n"
  143. "sfckdx ktyrjju ruwjtp zhqznj vncun\n"
  144. "oqqh xpc itrdg gtrid hoqq tuo yijh ncp suvck jic\n"
  145. "brrlqu twdt urblrq twtd\n"
  146. "brfuh arwtkpu mzlj wdyqk\n"
  147. "pmag dtwnva nect azld axqrwy apgm xbv gdq ienubsy andvwt\n"
  148. "hqb qbh gxdl mwjn cmfsmik\n"
  149. "yiwma utlor qxjfjsn aomlvu gxp ryj rfkdsw kuguhyi qxxpg\n"
  150. "ifq wcvcgly jdalgzx lgcycwv rajmnqw\n"
  151. "latakk yxxbw evy vey\n"
  152. "odkvw ojgveb jhg qwhkyoh btvu qbfot nouv owgtsi pdwbmfn pmvcv dnqbo\n"
  153. "tmka qqnty knz swi fyvmt ikcdu jfjzsfu dshgi cosacuj szjjuff\n"
  154. "eanet uua fbztk bzkft\n"
  155. "jepi hyo jgzplr jyqk zzcs iepj hfamvu bfgbz sjsnf lprgzj\n"
  156. "mlca ywko mtg vkfv ojka zbelq qkaujs simt kafq qtycfzo\n"
  157. "sqh omv llvra ecvxmtx dpnafv llvszx xzlsvl quj ufnhvod faraf fivmnl\n"
  158. "pvxlls fzeoav ahgv uhq nodcr cohy vqisgaj jsfcyur dbohh\n"
  159. "ztccbwk okv vok kov ywel\n"
  160. "xyu cmaikc jgqu ozccdzk ybn yoeq fky aetrkj eyoyvla laiu cermo\n"
  161. "sssnb kxly mgvaz jpffkq bysbwwu rfnkm eycp ipyd hyi wjew\n"
  162. "obdfqmh flkm semednj iafewg lvh uwa ciepe\n"
  163. "zmldp ykffe gtehz qlmvule edrtzg prund oagwto qia bvyxur\n"
  164. "kjok neno qbxh wqgkkt ympclso poyclsm cajgnnn\n"
  165. "paqili kur sfit jbqchzx bhjqzxc\n"
  166. "fhghm ubtaana qbn autnaab aaaunbt vmz\n"
  167. "exlrl hfnpq zgdwx smix nyg ogccrhj iimhhwc uhcldo oydwxp kqc jxxpycv\n"
  168. "wtdqjfh ialoqr zeej ipoh qtjdwhf wdhqftj\n"
  169. "jcgug cmtvmu ynhnilj txlv uemowyu cvrool oolcvr njr cxqntdh\n"
  170. "uhtwtp tgnc jmmjl utiu jfxtsoz cxwqcz\n"
  171. "qntxl lyownp tsp tps mixyge rqfqumc bxjiry zmaj azjm\n"
  172. "abt bat tftvm nyjs jyns\n"
  173. "hzsdh pwthfvm cedg hzsdh rsxtehn owh cedg\n"
  174. "hcoiny aqbeme eeuigt pocpvox tiugee rwb tvgmyc ojg hgdaf\n"
  175. "mzlwcfc uoobo bouoo tvgvmiu evsfkm popgm evmfsk ehxvits vebxbmd qhmz jzj\n"
  176. "mypgg jbpx vgeb ahvjl zbm ancdzfy wytkcq\n"
  177. "bivscw zmzmjxu jzm fwb ujefxp jzsiskp cgx atcj sszikjp cxg nqvxga\n"
  178. "vvurbxp iry zlz gfnlpuy npyugfl\n"
  179. "fpmee mhj iul lui liu\n"
  180. "xjoesn ggsdc vnisnmw kyxmmv xphfq\n"
  181. "zcsml ngzlpy udaoab eotbv ylca bfmums izx\n"
  182. "pdi bpyoep cofsy qazl oaovek fvfbe sotc lfdmaea smvs\n"
  183. "zajm bskaqhj qxyiptb bdyeuqr dqjrekn iywj\n"
  184. "hzhky hukvpve iqcbwju nyiwb rvutxlb hyuah urnhxg savicaw hexr ptedk\n"
  185. "qndji wrr sin ljogf ncrb zvt tvz\n"
  186. "kvfke tjpzhrl zvd doq kxyw fdgr oqd egkybdh rqpfxks nja\n"
  187. "escstpv ccc ryzdv gxkjuyt gkhw jxnfda awpzg csestpv\n"
  188. "cpcd onxeae nimbrpt zyji qnuo ktxgwbj vtjfglz skcozd zgii zgii nimbrpt\n"
  189. "lwq iue hfbv hgbg aeqc\n"
  190. "vzgbod yjkoc ckt bpiaz\n"
  191. "eyco ecoy uzousjp faxj utu yoec\n"
  192. "fhqdi myd tvex bzizkcx pifcfhz fczhpif eofzv bqzd knbhbgj dok ffcizhp\n"
  193. "qlqlgmz hofmnc cwtk ahgnpne acn prwdh hwdrp rfofhl atavrf afkcbk\n"
  194. "sgl apyfr pwxzptv osuwy vmqqh soyuw lqilked oinhh\n"
  195. "eglqdox gcxfxql ejtnwu wvho can eyu uetwnj elgdxqo atvpkk eailsnn cwosyn\n"
  196. "mylxhuj kbc apnllw qbmtj sqy hxtnvoe ins iyudo aagezrq nsi ikvn\n"
  197. "lpmzo tkdeg zilkm vdkmtf yulbdd dkfmtv\n"
  198. "fzrv grq zfvr ychga gqr\n"
  199. "vdjxx wew pdxgp cjywsc meoffrj pgpdx chxmw eizgz ruea\n"
  200. "iaklyhx btqqik tbiqqk ynmq laxykhi qatrnsh lnmtm plz\n"
  201. "sfogup jtdsx tsxjd wwzkyy wzywky vgdsgr\n"
  202. "paupqb kyy bccklmr vopviup lctcxza yyk yky\n"
  203. "gduuia doek hqcr upvb szeewnu rrrdz\n"
  204. "lhnsaf lut kzf allu dvj tyngx zkf aqsgz rtkzzdz\n"
  205. "xxqj msg xxqj ezmm tmyji msg cco tain ctpel\n"
  206. "pvcfzv rhn hlhxyu bghzzpx dlhvr hrvdl lhuxhy\n"
  207. "npzhkp voghdv rvezqff hvgvdo jndf gpa wevrwpu\n"
  208. "faixq aecax hxdouer yqlngzd grf wid iwd cce xnmmr\n"
  209. "ifqwiah dib ibd dtvkwqj mpn dtwjkqv kyntq xwlv\n"
  210. "rwoiz dja cvv lvza kfdblq bgtwgh ongdub wggthb lvaz\n"
  211. "xajf eyasx rupsyqx wubjwx bsrqi ripghci sbzxp sbz dhooax\n"
  212. "ydnv tvhwgp uvrh yryhl yxdlwa ladwxy awi mkwyn ghvpwt\n"
  213. "qrl vwdvwic ocbhpi bcmz dor lrq hokg gokh\n"
  214. "adz echnlju ebnmw twjl cfw loq fqklyyq clgqq jtgpsu wltj\n"
  215. "vwlgisb murtsw ldkacqv wxfcke vcqkald ldhh gsl kpzn\n"
  216. "itnvo lyddd saewfse spnri vtmst iblx\n"
  217. "qsgv qni wvqiih mneg lkpb quhbkyi\n"
  218. "efwaaa huu fslzwpc uuh szflwpc\n"
  219. "sgmj ajh vcwpcua enltaks aquooh bwoda txbuve\n"
  220. "vbe astgezx xqbxkdj evb bev yuuesdc fvohzq\n"
  221. "gpn oqxfz pbwibjw gljdbf gbldfj sis dpk iss\n"
  222. "pha ebybvye ntxhs wcuce\n"
  223. "odnnywv qpcjll aslxqjm injfs vkbturz atxi\n"
  224. "zzncfj kbhk jzzvnwf kqipx qkxpi rzb czfnzj\n"
  225. "ygu vqpnxkw trdtv rrte\n"
  226. "hrutley ljxuuq yonbpmk hmpc etyrhlu\n"
  227. "odxp fpvizzx dxop jjbr skhxq mpzawhe zptdxuu erxk adbbuk zfzipvx\n"
  228. "qjovasi yutjpg rcp bykpctm fqmmg pckbymt hqj\n"
  229. "ssqc cype tkowxb fbh rsluu zjk scrukwv pkuexk qlgjtdq oulrke\n"
  230. "bkcd nnf hdj sdlweyr uyf kmvzq\n"
  231. "sgeg moy png blv bblree ufe uqknuqd lnjwbh\n"
  232. "snpex hrbcfok pffv cwrvhcs fpk uprhn gbpy zkxyi esug ccnnj\n"
  233. "bmwue dugcrdu uifiy clid rdmodec jodp hti xptj tpopl vuwhdyi hnoq\n"
  234. "cwlkg qsz nnp lfyk pwn dpe oeuzp jusxxkq qlnchc\n"
  235. "tsmkvge pxauyc cxypua boi hybq rzf iioyi rtedkc gjmk iob mqb\n"
  236. "cvip wgbjhe ulwg jckkwd gdu bmaoisp\n"
  237. "drpl xbliszf rpld ngnvgxl xnrd xsmd oetrcmn xvfohp mtocren\n"
  238. "habmf dmfxq qitw xxtybla cxvb colcvpj sowoeuh bhmfa plccvjo naftjgw\n"
  239. "cix soo icx ahx cdrjyxe htcnp\n"
  240. "acoksaf cgahlg tdj euchwnj bdn lunouq aewrk uktre kklwqy lnouuq\n"
  241. "ibsel hwjbah vxuk bjxa dvzbpq tffqvo bjax qfoftv\n"
  242. "iynms tzv jakuuw cmz cjnyr ddibtd gcb\n"
  243. "tmgerk pvwizc lxoma ergmtk xmg loaxm\n"
  244. "ajazon yjwt viyemnk wobzwwm jcucn nopymyq znaajo qcjtmlq ccjun ywvt oqczod\n"
  245. "kdhgnv kdnvgh rpyrxx xpyrxr\n"
  246. "qftmshx hrbr kcggxw jwtuk qxbzkn\n"
  247. "ddi fjekwxs xxua cmmkrso\n"
  248. "ptrsv favvfh innnnx nninnx\n"
  249. "kzsnd pnf evtazgw wmjk gvxp bslajo\n"
  250. "nphqtka umlxu ymw whqiab whqiab vwigkz pevtps\n"
  251. "vhje cnu uzfzum rwucy mxr wyrdqfi gnkuwz dkrwc otfc vbfc\n"
  252. "ubtzio vlijsst anruj qyntadb fnic klz ywqq fnic vlijsst\n"
  253. "rprj ybyqawb tgeieih nzcr rjpr bjfpozh tpevsx flvjdq\n"
  254. "kvqqzvm cfdm wzjmkq sbcfx vzmkvqq\n"
  255. "zqtt elpg eglp uoe glep\n"
  256. "lqv madhtch xevl fal ijmx chcpra lzl afl cndbvnq\n"
  257. "yjx jyx xjy otwklfj\n"
  258. "cur egsdzaz ocbx wvky coxb pgiysbh lclhvy gfu oxbc vqyjvhh\n"
  259. "gtd pytdaz kecsku nkiud ytt bmgobx tyt pfleji ebqlifv lqp ytzadp\n"
  260. "bopfdvy eovszvw krgu jhuhyqi kaczafr krgu zlfxtl\n"
  261. "yixprs zqai oprgw vcsjoc pgorw ypx ijo urjcjqv\n"
  262. "estg oqnhw xgwajp mpbsag ibzi\n"
  263. "zggbt jmmtkru sye ybd ztggb\n"
  264. "tzryuqb blyxnnu sjpmf yxe zimf uyzqtbr qbyrtzu\n"
  265. "rzivz rxn invxqd nazw efzun bwnw ywx rfuda jhnoww mketav\n"
  266. "zxfw zcaqi qaciz ktefiwk xwzf\n"
  267. "ntougl fvyaxfr obml obml bjkm lgsqj yfcggdu rqcpgt ntougl nveto\n"
  268. "rma dakifg pvfc ticvff iffctv difkga\n"
  269. "wpnt eclov vmmoqh qvw mljlvnj hxrx\n"
  270. "ijnpo uhgxrfe xxopw xuzwyd powlpo ctduj eepw gubnepv\n"
  271. "rxcmve myxckxk ecid nxe xevrmc juzaonr ilkx zpb pbz mvgos yzr\n"
  272. "yfecm wqkh defqqa mnzgx nwe ixxg rjdhe new\n"
  273. "awztgx vqgnfd iwcakr ajaiwn jiwnaa uqfrim wrgbjon ufqrmi vdu yjwy gwkdc\n"
  274. "vrqf yzmvnr jkjji ghya pdlye ygha qlcm twmkex frqv\n"
  275. "hjb xgypw vtr mgj asa owcuks fnllp ommrhng senv iix\n"
  276. "usw iyuatv ondiwh neac ttge tzw bvjkfe neac usw\n"
  277. "qwehwhj idrwo vex zopkjd lrcc sfqyz smte qrfh lccr qwjhewh vlb\n"
  278. "efnlhsj ltm xirn nctwio cin\n"
  279. "zocc cpfo czoc oiz tftk\n"
  280. "rlzvqe inivone kptyumn eatw urjxc aetw\n"
  281. "qavvqa jvvc yux cvvj\n"
  282. "bfr fcpc xpkphcf irak bfr nuhsooj nniugf bfr gllq ipo\n"
  283. "ekd dydxs rnmgb dek yowk\n"
  284. "ipdll wdgx gjiigd uleiwg buvv vdhuzg gigidj gkyigmx lpdli lzyode fqdpvms\n"
  285. "ycna rhyz bsipz lit rmc mrofb cyan mrc wujk\n"
  286. "tjrk cwdsvf srkdjy lsyvryj nko syjvlry fgqq srdykj pgb koh dyle\n"
  287. "sflcxt wmgdgej akllaoa bbsvve nsxnt nsxnt kgm akllaoa btqbez\n"
  288. "bzmoci agemx mdtiol pyohvf zwtx aqblx oibmcz ypcmz lfg ckssn ozx\n"
  289. "cuojke joekcu eusr dxqk xxwob klpsm\n"
  290. "byspz lyunt eojrx ubh rjxoe ypzsb\n"
  291. "ibok bkrtut wzcdk ppm qekhvy aupaic vswwul lmlxrv ainigy sasurbx\n"
  292. "jeigcyc cycgjie resio ncz\n"
  293. "xvxr lmlaje ebmtn cvms xrvx vsmc\n"
  294. "cfjbffj xvo hpsbu nfm jhlsk mnf fmn\n"
  295. "xncxo iwuon voj aebv jks nynzl hwjwo womejo ugzmr tdfaep olpdiaf\n"
  296. "jlnusc hgpprf nulcjs kwiwypu kitjjbj snlcju\n"
  297. "buqzm kpuoxel ajlqke qqdur jecuibn leajqk qudrq usi\n"
  298. "ahbnjf uuzecdv yfyrsxv eoqey oonue vyyrxfs jixmvao\n"
  299. "wjdi cfgurdl usdnlk jmao qnus cicxnux vtdxxkx nusq\n"
  300. "mlvfz twu unj mar qpiz fhjczpz ytl npwjys ppq koa\n"
  301. "ippdky pvwthzj qlkhl pvwthzj\n"
  302. "kfm lcedomr xgdkrzo hfxyoe rafcby uwe pzjyuja weu nso erdwc fjvc\n"
  303. "peep oufzlb fsgn kxj uge xvufb zsnrxss lere gfsn gvwajkj fmh\n"
  304. "mexvi kgkktz kgkktz auyln ghvqc mexvi\n"
  305. "wit qxtewrk qdaz oljeb wowb suergyt hxq pfnfbei rdu qrxkwte fyw\n"
  306. "qjjzkd oxedeu uoxbehs zder vvjnn ocxkiz wkblzy eyzksc waiiqo fut raak\n"
  307. "dhojys qkusuxs kzicui dcsxo\n"
  308. "hsnexb yoz inza gqxtbc rya jqfe ufzlqva\n"
  309. "scpquf gbloz ceol eclo qpvzavo rwfnxa\n"
  310. "jyg edqf vdpsihl edqf\n"
  311. "mbyjg yjgbm mgybj mhgi grw\n"
  312. "ler oxssrel jhw jwh sfa hdhlo gng auzoan\n"
  313. "hmkuis iaxf muhisk ikshum\n"
  314. "eodbpo prajasi zsu hyb npr tbcntup uzs bxchne\n"
  315. "zpyr kxmvz frlzwnb tzqrw vdh ndbwqmu cadwsv adq bzfnrwl qfgf\n"
  316. "dybnn dmarc mknr fovokgj ukrp cuwag\n"
  317. "khweq eljs rllijp pizevm lwws kehqw mkjcu otqodz\n"
  318. "fvsrb kzbjbcc kzbjbcc mee dhyedb kzbjbcc\n"
  319. "cnlmjd dvnd vhlvsa rsrtc scrrt tqhx vke jqmxpd udkjqc qxriw pfqpk\n"
  320. "tyureg urteyg rutyge rmoihs\n"
  321. "pccxeak tkmyane qqggpr tbdmpi ieb\n"
  322. "wjucbi wjm hais pcxjd kkzh qns hmf mhf mnsv ifigsc\n"
  323. "lqeyr pnopcig cpgoinp pncpigo mjfkjus cko zedvvyq\n"
  324. "ofsnspv goj wqm ynolb qczly brl lrupzg buof zladwte\n"
  325. "xzn zxn yaseulw qwhxb easyluw vvlmh\n"
  326. "aiybip ydfczwh wkl rjsu xreokl qov mko pna fkfu\n"
  327. "zjlwozs nxke ozwlzjs jybx jpsxp qtkll idsrad savpoe\n"
  328. "xph lpvkmvy afq uqhg qqjgm smg tmhem mxdyqx bvhot lpvmkyv\n"
  329. "jxkkzil pkjheow fewr ggbfy fuol cuzud wnx fxujfwh srjsmic\n"
  330. "lzbjx vfx sncis xuv unoa nlgs stdhf oibxsgk uhogsb\n"
  331. "hfqzkms bzyfnz npcd yhfdo myqukug pjq adle sqkfhmz\n"
  332. "czhainb iazcnhb hhaqr cyrwj zzow luuvt zdyhnh uppysr\n"
  333. "fyw dulbxa drewqsr tldlaac kyaw datclal ylplup hdzbj\n"
  334. "kiiv tly gua lfg\n"
  335. "gphbvwc lqdd jqja ffpkz hafal eiapksw wsikpea vphgbcw lkcpm zjxcx\n"
  336. "viapp rxt vdgbm ezphp pcqr bll mklgx epzhp\n"
  337. "favz bwmczgg zoyns pens wpgi mrwxel\n"
  338. "ozwjjn kbzaozc cuaa igbfyq swi uypx bczaozk pyux odvawqx\n"
  339. "npnpw nwppn egnpj fkzh wppnn\n"
  340. "asu mlqmwa npewa cjluw qmalmw newpa fznx dzypi yiy\n"
  341. "hleh usw bgmgscg cqc fijfuw idtyh cgmsbgg zjhr wus hymbju\n"
  342. "tmre fvm cgowgb eduyfla ttez vdzp vtmtaog ezxsfi gyxgzi pvzd\n"
  343. "acvarlu hkmfzdg jsnil hpv wjj rljpk pygl wjhhohk rkplj spvgx psgvx\n"
  344. "wyz rvuobq kbmhaf bec bec\n"
  345. "zosyz psuo lgihdo mjtftk fjkttm ddmcd\n"
  346. "pqm qpswpb opviwxg ppqsbw waco jpx\n"
  347. "yzgumgq kqv hqjghnl jixhoyg ufer kvq lzi rojm gbhvsd urd tuy\n"
  348. "sxc jndqc ozpex wkchpu tmwv utcxzd piecpma cmppeia\n"
  349. "ifjc lttj tltj rxmgxqa jcif lzhxkg zqb mdq kbjavv\n"
  350. "isyxn zjbj uiw avziqxf zpezazx iuw\n"
  351. "rjaudu amtpuk gufogys xiqs\n"
  352. "gau sndrkv cmiolti cdxm ikkcisu xusnfbp jxffy ffcizj psye sgd\n"
  353. "mvx onzmy oynzm mwfgvs\n"
  354. "mrdg roanty dljs jlil gzcj dqitnfb gxb vzzqf ooweeh pgs oyntra\n"
  355. "yna xgok fvbdl xgko udqp sorfo hmhl yan\n"
  356. "kycl ule blupejp kycl fhpkoe pqkptw cfzpv nkncl\n"
  357. "snugkyw zfdbsfs aehb olq kkoi xpsvy jqcspf lajjyu jtm\n"
  358. "hifhfa mii clukcbc fhhifa wcts tgai vvqsyr kclcbcu\n"
  359. "ordjftj dokk hdhytwc fjodrtj ojrjfdt san ajxrwy ked jfrqc\n"
  360. "eylx cohd biswq xgiibz gzcptbf eylx icunv bfg jqanbv rntp sbfkiey\n"
  361. "kub gdpbdms qnnto bit visqop\n"
  362. "tywk clicj daics cbuewkx yyjjjka vxzk afsdyqg\n"
  363. "bmxzll wqjnyr mxlzbl yutkaa qmpz hiqkf lqqqle jagj qlqelq\n"
  364. "jgdeatg qubj jsu bhgbm swmgy lwgnuh qjbu dqwiikp mgwys\n"
  365. "ryisldg asrrhz vxvrnk ibjr kebyx dwbx qdrpa tgakt\n"
  366. "dfvgzk hifan dpjdnqc ncnvf xmqjjao npjq vobt evtaety kvufds pcugx oyjo\n"
  367. "ezionjg ioznegj cykxy igeojzn ezm\n"
  368. "dkv dkv vfqyl dkv dtjhrem\n"
  369. "xfgh brsjcdw auvq fibb gcbecl\n"
  370. "eet qdnrymr ndqmyrr tpfqxoi kbkxw\n"
  371. "qhmaj maukf uygg hqmaj tfmtv irao wsari\n"
  372. "ofoywus wxs leemkn wfko dwzqv txg qsiiiss aiiffe fadmdq zjtaovt\n"
  373. "fgfms oazi sam msgff qif evxca reho\n"
  374. "gpzhy qxh sco qeax wtabxwv sjd oev\n"
  375. "xsmpi wskvku xspmi smipx\n"
  376. "ghgf tbpeun qdivuvq dump umdp khxcxtx laljpv lownp egovve\n"
  377. "vhmu eziabt hnz neko nkz hfmizn\n"
  378. "vqhb lax zzyf lxa lik jrqynr rgcos\n"
  379. "zjgbfzv ieufyz kjxad qxeuewx\n"
  380. "ufl drkaac hoyic pqutop wqzdk eewabsr mqspcr ewarbse dzqkw\n"
  381. "bgatanj xmddwv mwlmw scgzboo myignm lkfl fsqr\n"
  382. "xkrx otjzfk wek dpbwk cromg fclmhg pkvw wsln\n"
  383. "yyqjs lifg gifl cfv lfig fycza\n"
  384. "dfup fkfeiqq rcmuv dly iforzi lngkjc rzifio oiifrz mlhor puwm qrthoa\n"
  385. "nzfaeto punt rtmlg dwdk hyig\n"
  386. "mds ueoyclh lxb axgea wqt wwqqglf tqw yvzji ryr dst bojf\n"
  387. "ayoj yzj lyctgnc woxz gqltw lkzkwte wysb mjyeu hrwso\n"
  388. "gymmvtt lhskza lsb nhlijnt men zphurrw oftksy zxs ykerwue hnijltn iknqyz\n"
  389. "xuaxkc lgzeef fwb nlzzhjj lsieg qdr ews rue rdq\n"
  390. "xnf lljcmod kyuercp kvlvd lkvh ncn afaq\n"
  391. "bjytofa ltz mkyy bwt uxca somiz rhgdg keaqu ybr\n"
  392. "aipljn qpq nilajp udgkchc dirvxg rrbmi mxfxkk kmfxkx\n"
  393. "sfzjemk hjsvnmb hfd hprfmvg pbhkc\n"
  394. "cvxi srj ucy yuc euswuns jpox\n"
  395. "tajlnn ivuecv fdfce rakjq bfuxirh eibde tajnln nlajtn\n"
  396. "ndvm mlnhy bfqlzn nmdv ohto\n"
  397. "jysyvwy xbcyt lbbm osoye swwtwa emfznci qnzc qsgk\n"
  398. "xcm jbqsuo xmc mtrk bojuqs\n"
  399. "ukshrrh xhfl ooxgq vadlcrg ydva hugplg mnqbd wkyouq\n"
  400. "mnmqys bhws megar krgoke modxe krgoke clovh dlo\n"
  401. "ejl qzc agxph jcn zcq zqc\n"
  402. "jgh yhh hjg jhg\n"
  403. "tarm jboyg gbyjo pgalg xugzt bph mart\n"
  404. "yur wrrahr fnnfqu rwhrar cdq\n"
  405. "mukod gueg guge epalg xjkctt\n"
  406. "hub hbu hbzul buh sqfl\n"
  407. "xyrly lvpitr xfzn jjcl uvcnz dnpdyzq ifaiwe zlvzcx\n"
  408. "wxzsf tgd khvwp cmd mzv bsvjvjm wvhpk ublnqyz mvbjvjs peishcb\n"
  409. "zunmk hxpney nphxey znmku\n"
  410. "bfxlgur wftcw xfkf fsik xkff ffxk\n"
  411. "sxyjzr ugcscx uiovqx ldzhord xgxbfph ldzhord prdhg rhdhzd ugcscx\n"
  412. "udg drb apyjq dgyevo fuxjhg\n"
  413. "qshbe aigfdp wyvz xfcos wve dgfrufw dwimmb jfh wfrjbzk nwgrigr sbrpbb\n"
  414. "ahpn xnzeof wxbv chxpcu jmso age ojsm bqonfki hqhrkw\n"
  415. "mfupm vvig ndqbbm jlw\n"
  416. "ejqh ebcrytj zpiqtpp ogznd\n"
  417. "wkwkae odq rsrnqk nslczz hiyyhur kuw mjbuwll vduvod ryhuhiy swo tsos\n"
  418. "znkufyx jejrdno knr wkx ikrlly tnxtj\n"
  419. "iizdiw iizdiw hukep rwj eaq ptm klta rwj onaz\n"
  420. "znb egqy qqnc igqr ikza ojgzkr xaen kurb pyckxvt wqx\n"
  421. "pbohpw bphowp dajwdpp kotevs\n"
  422. "hmuvxu zdnguk jhcmj gccyxiu cxgiycu uyxcgic akxi demeff\n"
  423. "zjr lupzwcy puva rzj\n"
  424. "cdn wee iqkbhl jwxo nhl cqd mqgqf ltdfg\n"
  425. "phwco ggcj cggj ergpqmc kcz\n"
  426. "aryjl wqwmkc aklktpz kptnroc mckqww\n"
  427. "jadydt atjdyd tajdyd owswsgm\n"
  428. "dshqt kacoge sdqth ylobih\n"
  429. "kdnik knkdi dinkk xwvqa gvii\n"
  430. "cifbkpt zye xhwnrhm fctibpk sbn pdqry emkye kzyjpa plzkc btkfcip gcchi\n"
  431. "kekfr fufp dfy eqebgko obbn nuh\n"
  432. "zixfbus skuf bea gimbqq caubhto eba uvkovz xisfzub peukmyn\n"
  433. "okihcgh gazrc slee vlnwyg geviex eesl nmnvk rcbv ycupyw\n"
  434. "tcvlgqs wxe lusvwzy unr yzluwvs wsylvzu zkwth qdykv\n"
  435. "hyenkj ugao vlwgb putcepr lyeccs fqdotx burf aqew fje rfbu\n"
  436. "uhmnc zgnkarz gylqawm abl zimcz qbs zzmic\n"
  437. "pxkbpn zuxlwtt rlbhegv zlxuwtt ooxpr pgjx\n"
  438. "leg wavgps fcplfpc xvxih ueskmi dvu wbiq nvtia pwjojw usiemk ojwwjp\n"
  439. "zmrpknx xrfpq avque tvoyqp\n"
  440. "lyposyj mckyoub sqbl olpsjyy hjafzi wmojb nvezofd\n"
  441. "yflxrg egi aij qvc yflxrg typbs yflxrg kliexy eqnj jqrr\n"
  442. "gggt sht kdajvz sht gkqwaot sht vout\n"
  443. "ahl aucpih feig man umtchcv ceqabr tfptb\n"
  444. "ftlywun voaorf kde ilwt hlpoe pksqxyh vpg cxo xgq fdkkl sgxhnq\n"
  445. "zzekhfi akb lupta sgtd qapznzf lgidsx lidsgx akgmq ettuwjq xyumf\n"
  446. "dxhpku lwoxpim gwb lhjmoh gxqapd ntmvc rvwwszg pvin lwoxpim coubc\n"
  447. "qia bxmremo rjf vaeio eqexwz wuoz sguf bsbusof xqeewz\n"
  448. "iczzz krf hbq tsgrih mzjabrt sfnwrm djignf zwac cwaz dgc nsrfmw\n"
  449. "yvarsva zzpbp yai und kkbinr zlyj nyxxof ggrgu vyk eib\n"
  450. "nepzm yrrgr vrlhbv hykmiog natrqx jvpq nbyhe zuo grx nwl\n"
  451. "cfboeev hcn yfobyx cqvlo obctww xxaux ofybxy wouguq avuztl xmgqq xyofby\n"
  452. "tikv uvzp oxopqy reh uzvp wefka vli kied gngks vbz thfsxyt\n"
  453. "exxvknp pucbdyl dboto tzat qze xyinygz mhzl ubahr ekxbtk\n"
  454. "jcz ufszbi pknsfgb ivok ijau okxolj etecn aurun zsa gbxs uryx\n"
  455. "ypnb ousd osg mvset ipffzdn dfinfpz ltescx\n"
  456. "taeoct aoetct aocett ttda fcdqnxv\n"
  457. "bimtlk ssax bmrifkr vfxdmq hglp rgzr zpvk zhxtq rndwy mmr arkr\n"
  458. "bwvdb axxbhzk nwfmbbu kzuc sahv cvas wdac acsv\n"
  459. "xavkwou yvx ouwkxva otbe uzr mmw atq yiy ghavd qta pqlhv\n"
  460. "omzht vsdsc zhtmo hmotz\n"
  461. "eqt wtveez syift shtfnc hmckjxa apwbvn yme okdl hbihdtv hxahns eetvwz\n"
  462. "rokdg ndjw hprxjc viys mbcctod dbvd\n"
  463. "lhzb fyxf xaslmi sjd vqp grxhmfe snetfv mgivd uaknj givkdi\n"
  464. "gxkxl kqcdnl rna jhcuepd npiedg djcpheu huce njryw bjluhq bvedvl kqxu\n"
  465. "sogh uym atpzuwx vjgbe xgrvkg thgbyn mptcebt rkro\n"
  466. "tnpxw uxrqxd lajmsmr tnnlt vrvbf deret hkmvrs eubvkn kks hjq\n"
  467. "rcdoa zfja vod supip dvo\n"
  468. "zbxdo xglqv how mgoq jqrdou pwrminc lidi nfs xglqv lidi\n"
  469. "ldmnp dnqn ahhr tha mvsbsfh rpm rgus faf tjash\n"
  470. "ewrdol jqhfpf rckj mrxlwj redjg bmxprx grla\n"
  471. "rhr jksebwa vtu skwaejb vut\n"
  472. "wrx iqvrjh atrt xrw vtqo tkcasd xedjh zkqrh vvhj\n"
  473. "owc qlzygar uajwwe obzl inxawur\n"
  474. "crbtrf phvy nzipo rctbfr trrcbf\n"
  475. "vwuun wcfhhzo vxxjdt fbf bqtmmhs bffqcna\n"
  476. "wkxfxmv zmrkyh sggw whwcw zukynw\n"
  477. "lsdiy lnbn kblxi qfyib irfl mymrr zqbl\n"
  478. "gwdkeu ghn afry zxoz fary uzntlnk kee xtnop ptnox zngoran\n"
  479. "lgs lsg sgeseiz gsl\n"
  480. "erpoqpi svtnv vsogl uym amzxbs\n"
  481. "jtmodqx yjcsfcl zosugm jrekfdw xxbdqnx fcha\n"
  482. "vio tlfxokx xaoq pydeiq glxsuzm honifvf maiuzsy uizsyam eco\n"
  483. "ophcui saka qyt ltti syw\n"
  484. "qff qff sde ryv\n"
  485. "eiii jazx nlehtx tnhvxl rzvsjo qkupif feypppe tefxr wdjmlc\n"
  486. "pdrr mwuy wccd rxla drpr enbbap\n"
  487. "pclml ubwdbz hfudj gdpujfm ovabv\n"
  488. "uink ffebi wdvhqzs qiympf lqxihty vnsp wdvhqzs hutxkcs lxfuos hutxkcs\n"
  489. "fycoaw palkpz yrkg kappzl ncjym mergg kryg\n"
  490. "eqy npvgh ghafkro piqnogb polacs qye hnvpg\n"
  491. "dxyy udhmz jij tqsuic qxz erctv\n"
  492. "urum nmbr cgek eetmhj gxr oxgukf wzdmvi oibzt fxkoug rcrywcr rglx\n"
  493. "jkp ofej waibl opqhmww ifnczcg jdtkbc lil isc ill mylvuv\n"
  494. "vqbcosk yhhsy gasmj bspx peakt cjtekw hvzo ywe qcvbosk ohzv qddt\n"
  495. "edq llbvsx vedyvlm gou wkecank rkgf ziyrr belgo tbz\n"
  496. "wbome vhzf ztk zaxiu ywjb supuf beq sxq spuuf pufus\n"
  497. "femu ymkdoew kjynct aia\n"
  498. "yjymr orovqj aremii licw bdtnc\n"
  499. "uyade fbx duaye ujtvpn\n"
  500. "yzvp pvzgjp yofcvya gvkkoh cafyvoy mhsm okhkvg\n"
  501. "xuh qkaf dmi imd tzmlce mqkxj qilrc dim cadotvy\n"
  502. "azpqgb kyc aflgyaf laagffy kesmk jzyzaer taf bpkbzdg\n"
  503. "ogd dbdlh dqt zaaloh\n"
  504. "exal vgnfx omu omepvwf szcwq snz bptite bzqyxl khmblyc sse emg\n"
  505. "yqcbwsn aihhf tqck tcqk wqwqy cfez xahpn\n"
  506. "qqbuf lil ies tqu pyxhqp mnfuk azj\n"
  507. "vwma rzdtgl mxbasw nwgjav mwav\n"
  508. "itpjfq rrgyt hralwm fqrig btwcod\n"
  509. "ydjd kmk fvwr wrfv yvhw mkk\n"
  510. "xbsxub yhsj xzbuf ace xubbsx fzuxb vxk\n"
  511. "ttsist vubpf mhwkmtx vlj hdsva kmmhtwx ukxr upfvb tbma fxsrnxl hzwufho\n"
  512. "wckjvz unmtev egxts ihw topvw ptowv rnihhmq\n"
  513. "gpdtl kcric nwg ssbs qah aarp ydsdty ngw\n"
  514. "lzhxbbq oktvcw xbasqe owtmwgp koa gumjie sodwrp hqsw aqh dtgsbb\n"
  515. "xjbyy mxfxa ogvk nqiy qyni ldqwryj niyq jjixc\n"
  516. "uhbul daccgva xtiz dim uhbul yjmakv yjmakv\n"
  517. "huo esajup ouj oju ujo\n"
  518. "eeeu hwvsk jfkmds okhi pogskfm itdlbll\n"
  519. "lpyubo dylpfb iehwug decj ntidy cuygyg lalkb iutu oxgm imn\n"
  520. ;
  521.  
  522. string example = "abcde fghij\n"
  523. "abcde xyz ecdab\n"
  524. "a ab abc abd abf abj\n"
  525. "iiii oiii ooii oooi oooo\n"
  526. "oiii ioii iioi iiio";
  527. istringstream input(s);
  528.  
  529. //Quick permutation function with callbacks
  530. void permuteRef(string& str,int first,function<void(const string&)> callback){
  531. //if we have exhausted all possible swaps, this is a permutation
  532. if (first==str.size()){
  533. if (callback!=NULL){
  534. callback(str);
  535. }
  536. }
  537. else{
  538. //we have more characters to swap on this path
  539. for(int current = first; current < str.size(); current++){
  540. swap(str[first],str[current]);
  541. //branch our permutation to all sub permutations of this instance
  542. permuteRef(str,first+1,callback);
  543. swap(str[first],str[current]);
  544. //restore original value
  545. }
  546. }
  547. }
  548. //helper function, makes it simple to permute static strings or standard strings
  549. void permute(const string& str, function<void(const string&)> callback){
  550. string subject = str;
  551. permuteRef(subject,0,callback);
  552. }
  553. int main() {
  554. // your code goes here
  555. auto count(0);
  556. string currentString;
  557. while(getline(input, currentString))
  558. {
  559. ++count;
  560. //cout << "current string = " << currentString << endl;;
  561. stringstream currentStream(currentString);
  562. string subString;
  563. vector<string> stringsAsVector;
  564. while(currentStream >> subString)
  565. {
  566. stringsAsVector.push_back(subString);
  567. }
  568.  
  569. bool matchFound(false);
  570. for(auto string1 = stringsAsVector.cbegin(); string1 != stringsAsVector.cend()-1 && !matchFound; ++string1)
  571. {
  572. for(auto string2 = string1 + 1; string2 != stringsAsVector.cend() && !matchFound; ++string2)
  573. {
  574. if(string1->length() == string2->length())
  575. {
  576. permute(*string1, [string2,&matchFound](const string& str){
  577. if (str == *string2)
  578. {
  579. matchFound = true;
  580. }
  581. });
  582. if(matchFound)
  583. --count;
  584. }
  585. }
  586. }
  587. }
  588. cout << count << endl;
  589.  
  590. return 0;
  591. }
Success #stdin #stdout 0.13s 5264KB
stdin
Standard input is empty
stdout
167