{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-06T14:01:22.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2026-04-06T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":1902,"title":"GJam 2014 China Rd A: Read Phone Number (Large)","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/2924486/dashboard GJam 2014 China Read Phone Number\u003e. Large Case.\r\n\r\nThe Goal is to output a string for the reading of a segmented phone number. When numbers are replicated within a segment the number is preceded by its multiplier. If there are more than 10 repeats in a segment then the number is output for the number of occurrences. Count multipliers are double, triple, quadruple, quintuple, sextuple, septuple, octuple, nonuple, and decuple for 2 thru 10, respectively. The \u003e 10 repeats occurs in the Large Data set.\r\n\r\n\r\n*Input:* [Number, Segments] where Number is a string and segments is a Vector that sums to the length of Number\r\n\r\n*Output:* Text, a string of the reading based upon segments\r\n\r\n*Examples:*\r\n\r\n  [Number,Segments]  [Text]\r\n    ['15012233444', [3 4 4]] ['one five zero one double two three three triple four']\r\n    ['15012233444', [3 3 5]] ['one five zero one double two double three triple four']\r\n    \r\n\r\n*Contest Performance:* Best Time of 12 minutes with 1094 of 3058 able to process the Large data set.\r\n","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/2924486/dashboard\"\u003eGJam 2014 China Read Phone Number\u003c/a\u003e. Large Case.\u003c/p\u003e\u003cp\u003eThe Goal is to output a string for the reading of a segmented phone number. When numbers are replicated within a segment the number is preceded by its multiplier. If there are more than 10 repeats in a segment then the number is output for the number of occurrences. Count multipliers are double, triple, quadruple, quintuple, sextuple, septuple, octuple, nonuple, and decuple for 2 thru 10, respectively. The \u003e 10 repeats occurs in the Large Data set.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [Number, Segments] where Number is a string and segments is a Vector that sums to the length of Number\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Text, a string of the reading based upon segments\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e[Number,Segments]  [Text]\r\n  ['15012233444', [3 4 4]] ['one five zero one double two three three triple four']\r\n  ['15012233444', [3 3 5]] ['one five zero one double two double three triple four']\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eContest Performance:\u003c/b\u003e Best Time of 12 minutes with 1094 of 3058 able to process the Large data set.\u003c/p\u003e","function_template":"function Text = Phone_CH(str,v) %\r\n Text='';\r\nend\r\n\r\n% One method for inserting strings from a cell array\r\nfunction valuestr=Phone_number(x)\r\n valuecell={'zero' 'one' 'two' 'three' 'four' 'five' 'six' 'seven' 'eight' 'nine'};\r\n valuestr=valuecell{x+1};\r\nend\r\n\r\nfunction qtystr=Phone_qty(x)\r\n qtycell={'' 'double' 'triple' 'quadruple' 'quintuple' 'sextuple' 'septuple' 'octuple' 'nonuple' 'decuple'};\r\n qtystr=qtycell{x};\r\nend","test_suite":"%%\r\ntic\r\nzstr='0000000000';\r\nzv=[10 ];\r\nvexp='decuple zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111';\r\nzv=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ];\r\nvexp='one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111';\r\nzv=[1 2 3 4 5 6 7 8 9 10 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ];\r\nvexp='one double one triple one quadruple one quintuple one sextuple one septuple one octuple one nonuple one decuple one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='6701604014038409645317871541814818042765712319652041768196456846465134589785405932716870450845696942';\r\nzv=[18 53 27 2 ];\r\nvexp='six seven zero one six zero four zero one four zero three eight four zero nine six four five three one seven eight seven one five four one eight one four eight one eight zero four two seven six five seven one two three one nine six five two zero four one seven six eight one nine six four five six eight four six four six five one three four five eight nine seven eight five four zero five nine three two seven one six eight seven zero four five zero eight four five six nine six nine four two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7948353719781965623468317824953101456187089254894578076436069073736717501261569457261541306241739435';\r\nzv=[67 24 2 7 ];\r\nvexp='seven nine four eight three five three seven one nine seven eight one nine six five six two three four six eight three one seven eight two four nine five three one zero one four five six one eight seven zero eight nine two five four eight nine four five seven eight zero seven six four three six zero six nine zero seven three seven three six seven one seven five zero one two six one five six nine four five seven two six one five four one three zero six two four one seven three nine four three five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4278368013428262027948460184086902458706181428387549853031942964639495026306271567618562640383239305';\r\nzv=[99 1 ];\r\nvexp='four two seven eight three six eight zero one three four two eight two six two zero two seven nine four eight four six zero one eight four zero eight six nine zero two four five eight seven zero six one eight one four two eight three eight seven five four nine eight five three zero three one nine four two nine six four six three nine four nine five zero two six three zero six two seven one five six seven six one eight five six two six four zero three eight three two three nine three zero five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9464820841980697178401716583034690432403485084358767843859195212565106243810816790591659815789420929';\r\nzv=[23 54 6 3 12 2 ];\r\nvexp='nine four six four eight two zero eight four one nine eight zero six nine seven one seven eight four zero one seven one six five eight three zero three four six nine zero four three two four zero three four eight five zero eight four three five eight seven six seven eight four three eight five nine one nine five two one two five six five one zero six two four three eight one zero eight one six seven nine zero five nine one six five nine eight one five seven eight nine four two zero nine two nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1239417614204605186382638961928216123515856310156537949350505058426185417564013152480630168120385902';\r\nzv=[9 20 68 3 ];\r\nvexp='one two three nine four one seven six one four two zero four six zero five one eight six three eight two six three eight nine six one nine two eight two one six one two three five one five eight five six three one zero one five six five three seven nine four nine three five zero five zero five zero five eight four two six one eight five four one seven five six four zero one three one five two four eight zero six three zero one six eight one two zero three eight five nine zero two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5705658716138187897089238034926826854932909071213569698472175680807126039351827987289593273256549721';\r\nzv=[23 49 6 21 1 ];\r\nvexp='five seven zero five six five eight seven one six one three eight one eight seven eight nine seven zero eight nine two three eight zero three four nine two six eight two six eight five four nine three two nine zero nine zero seven one two one three five six nine six nine eight four seven two one seven five six eight zero eight zero seven one two six zero three nine three five one eight two seven nine eight seven two eight nine five nine three two seven three two five six five four nine seven two one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5496587298081832124197901212051639570370452063174067189290683532890857290152921651676725291709858268';\r\nzv=[84 12 1 1 2 ];\r\nvexp='five four nine six five eight seven two nine eight zero eight one eight three two one two four one nine seven nine zero one two one two zero five one six three nine five seven zero three seven zero four five two zero six three one seven four zero six seven one eight nine two nine zero six eight three five three two eight nine zero eight five seven two nine zero one five two nine two one six five one six seven six seven two five two nine one seven zero nine eight five eight two six eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='6046727253505468724903978269465059754529308478929632170216741630304035454232162816186394257019613649';\r\nzv=[21 13 16 7 19 17 7 ];\r\nvexp='six zero four six seven two seven two five three five zero five four six eight seven two four nine zero three nine seven eight two six nine four six five zero five nine seven five four five two nine three zero eight four seven eight nine two nine six three two one seven zero two one six seven four one six three zero three zero four zero three five four five four two three two one six two eight one six one eight six three nine four two five seven zero one nine six one three six four nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9709324183067148146829125827086805141425714050976780595295963087561738097976891946025083503270131874';\r\nzv=[19 40 15 25 1 ];\r\nvexp='nine seven zero nine three two four one eight three zero six seven one four eight one four six eight two nine one two five eight two seven zero eight six eight zero five one four one four two five seven one four zero five zero nine seven six seven eight zero five nine five two nine five nine six three zero eight seven five six one seven three eight zero nine seven nine seven six eight nine one nine four six zero two five zero eight three five zero three two seven zero one three one eight seven four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5935294040195821091284183159414635231362074061646489573631084519431981565623091096745285242356956132';\r\nzv=[49 2 47 2 ];\r\nvexp='five nine three five two nine four zero four zero one nine five eight two one zero nine one two eight four one eight three one five nine four one four six three five two three one three six two zero seven four zero six one six four six four eight nine five seven three six three one zero eight four five one nine four three one nine eight one five six five six two three zero nine one zero nine six seven four five two eight five two four two three five six nine five six one three two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='68420979858341861054645438226544';\r\nzv=[9 14 9 ];\r\nvexp='six eight four two zero nine seven nine eight five eight three four one eight six one zero five four six four five four three eight double two six five double four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='95673537815030404160202058788558325698592015367995915420';\r\nzv=[3 12 11 12 7 10 1 ];\r\nvexp='nine five six seven three five three seven eight one five zero three zero four zero four one six zero two zero two zero five eight seven double eight double five eight three two five six nine eight five nine two zero one five three six seven double nine five nine one five four two zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='2917155597708068980673145819211425430909609607407685919790633007543533613';\r\nzv=[8 4 12 5 15 4 8 12 5 ];\r\nvexp='two nine one seven one triple five nine double seven zero eight zero six eight nine eight zero six seven three one four five eight one nine two double one four two five four three zero nine zero nine six zero nine six zero seven four zero seven six eight five nine one nine seven nine zero six double three double zero seven five four three five double three six one three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7898081583437702364634490213008907725195448';\r\nzv=[10 12 6 12 2 1 ];\r\nvexp='seven eight nine eight zero eight one five eight three four three double seven zero two three six four six three four four nine zero two one three double zero eight nine zero double seven two five one nine five double four eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='437260442554900624648844197922288914270446';\r\nzv=[11 6 9 6 3 1 3 2 1 ];\r\nvexp='four three seven two six zero double four two double five four nine double zero six two four six four double eight double four one nine seven nine triple two eight eight nine one four two seven zero double four six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='2789225013517271635527397201226697731452904643719381232152395186872927418002375223547884014744';\r\nzv=[5 9 7 2 15 1 6 4 8 9 9 3 7 5 4 ];\r\nvexp='two seven eight nine two two five zero one three five one seven two seven one six three double five two seven three nine seven two zero one double two double six nine double seven three one four five two nine zero four six four three seven one nine three eight one two three two one five two three nine five one eight six eight seven two nine two seven four one eight double zero two three seven five double two three five four seven double eight four zero one four seven double four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='745443046641006460911871735664538092408084394952066353448004450489821840381778094629976796';\r\nzv=[9 1 15 14 15 8 14 7 3 2 1 1 ];\r\nvexp='seven four five double four three zero four six six four one double zero six four six zero nine double one eight seven one seven three five double six four five three eight zero nine two four zero eight zero eight four three nine four nine five two zero double six three five three double four eight double zero double four five zero four eight nine eight two one eight four zero three eight one seven seven eight zero nine four six two double nine seven six seven nine six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9389581629278714115270272359258386234328448241872301648883';\r\nzv=[15 3 1 13 6 5 7 5 3 ];\r\nvexp='nine three eight nine five eight one six two nine two seven eight seven one four double one five two seven zero two seven two three five nine two five eight three eight six two three four three two eight double four eight two four one eight seven two three zero one six four eight double eight three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='638110728463471172123321819781344177341197656065297520823913148755582611608';\r\nzv=[10 6 8 1 15 12 5 7 2 3 4 1 1 ];\r\nvexp='six three eight double one zero seven two eight four six three four seven double one seven two one two double three two one eight one nine seven eight one three double four one double seven three four double one nine seven six five six zero six five two nine seven five two zero eight two three nine one three one four eight seven double five five eight two six double one six zero eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1133185809510432';\r\nzv=[15 1 ];\r\nvexp='double one double three one eight five eight zero nine five one zero four three two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='238728670935325997878047006508522404463678112601608414215085957397966';\r\nzv=[13 8 4 13 10 15 6 ];\r\nvexp='two three eight seven two eight six seven zero nine three five three two five double nine seven eight seven eight zero four seven zero zero six five zero eight five double two four zero double four six three six seven eight double one two six zero one six zero eight four one four two one five zero eight five nine five seven three nine seven nine double six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='85658191899305236022867183837318073902283214947760248177452103132443861485891';\r\nzv=[1 10 15 8 4 6 7 15 8 1 1 1 ];\r\nvexp='eight five six five eight one nine one eight double nine three zero five two three six zero double two eight six seven one eight three eight three seven three one eight zero seven three nine zero two two eight three two one four nine four double seven six zero two four eight one double seven four five two one zero three one three two four four three eight six one four eight five eight nine one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='21770416464691789037472471701235435696232613781886745983083308143822448829';\r\nzv=[2 8 11 10 8 14 6 11 1 1 1 1 ];\r\nvexp='two one double seven zero four one six four six four six nine one seven eight nine zero three seven four seven two four seven one seven zero one two three five four three five six nine six two three two six one three seven eight one double eight six seven four five nine eight three zero eight three three zero eight one four three eight double two double four eight eight two nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='983249024136170290772296855218428763965301110152249';\r\nzv=[2 15 14 15 4 1 ];\r\nvexp='nine eight three two four nine zero two four one three six one seven zero two nine zero double seven double two nine six eight double five two one eight four two eight seven six three nine six five three zero triple one zero one five double two four nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='3480983214378717507995103066016574662185732516268288798294927774350570';\r\nzv=[13 10 15 11 3 3 14 1 ];\r\nvexp='three four eight zero nine eight three two one four three seven eight seven one seven five zero seven double nine five one zero three zero double six zero one six five seven four double six two one eight five seven three two five one six two six eight two double eight seven nine eight two nine four nine two triple seven four three five zero five seven zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='839728044162856119809065784052255130156664';\r\nzv=[9 7 10 15 1 ];\r\nvexp='eight three nine seven two eight zero double four one six two eight five six one one nine eight zero nine zero six five seven eight four zero five double two double five one three zero one five triple six four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1299716932675600468864013262733864936641800591739546149687053359054618';\r\nzv=[5 7 14 1 12 3 14 6 4 2 1 1 ];\r\nvexp='one two double nine seven one six nine three two six seven five six double zero four six double eight six four zero one three two six two seven double three eight six four nine three double six four one eight zero zero five nine one seven three nine five four six one four nine six eight seven zero five double three five nine zero five four six one eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7896269726657598138802619158139810768633428179202282443571484595761847181128041281628185246';\r\nzv=[2 7 8 5 6 6 11 9 5 10 12 3 7 ];\r\nvexp='seven eight nine six two six nine seven two double six five seven five nine eight one three double eight zero two six one nine one five eight one three nine eight one zero seven six eight six double three four two eight one seven nine two zero double two eight two double four three five seven one four eight four five nine five seven six one eight four seven one eight double one two eight zero four one two eight one six two eight one eight five two four six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='477658486684842559974665174626263159299857463838945503033';\r\nzv=[11 11 6 14 10 2 3 ];\r\nvexp='four double seven six five eight four eight double six eight four eight four two double five double nine seven four six six five one seven four six two six two six three one five nine two double nine eight five seven four six three eight three eight nine four double five zero three zero double three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='06875538368304839162889133713';\r\nzv=[3 10 1 14 1 ];\r\nvexp='zero six eight seven double five three eight three six eight three zero four eight three nine one six two double eight nine one double three seven one three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='45256104997445504657800410480176721551263917689055037098246476060427763254223140';\r\nzv=[14 10 11 2 3 5 12 15 1 4 2 1 ];\r\nvexp='four five two five six one zero four double nine seven double four five five zero four six five seven eight double zero four one zero four eight zero one seven six seven two one double five one two six three nine one seven six eight nine zero double five zero three seven zero nine eight two four six four seven six zero six zero four two double seven six three two five four double two three one four zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='6500507266637983912546668295413265536254049737120594152282943472025861287250184';\r\nzv=[3 9 4 9 13 7 7 15 10 1 1 ];\r\nvexp='six five zero zero five zero seven two triple six three seven nine eight three nine one two five four triple six eight two nine five four one three two six double five three six two five four zero four nine seven three seven one two zero five nine four one five double two eight two nine four three four seven two zero two five eight six one two eight seven two five zero one eight four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='90536923431844238372096379800359312024577754107934353901';\r\nzv=[9 14 14 11 5 3 ];\r\nvexp='nine zero five three six nine two three four three one eight double four two three eight three seven two zero nine six three seven nine eight double zero three five nine three one two zero two four five triple seven five four one zero seven nine three four three five three nine zero one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='194851729139154581103404918805045722094939046615745185586389015707908521547319803514384134067';\r\nzv=[6 4 13 10 9 14 6 11 3 9 2 2 3 1 ];\r\nvexp='one nine four eight five one seven two nine one three nine one five four five eight double one zero three four zero four nine one double eight zero five zero four five seven double two zero nine four nine three nine zero four double six one five seven four five one eight double five eight six three eight nine zero one five seven zero seven nine zero eight five two one five four seven three one nine eight zero three five one four three eight four one three four zero six seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7180221794361';\r\nzv=[3 7 3 ];\r\nvexp='seven one eight zero double two one seven nine four three six one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='328104734424917711259192901583138150643217809';\r\nzv=[3 8 8 15 5 5 1 ];\r\nvexp='three two eight one zero four seven three double four two four nine one double seven double one two five nine one nine two nine zero one five eight three one three eight one five zero six four three two one seven eight zero nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4012446744';\r\nzv=[8 1 1 ];\r\nvexp='four zero one two double four six seven four four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='75159567609950672038714189757246751900662587864067030579646570165557726996672';\r\nzv=[13 15 11 7 1 15 8 3 4 ];\r\nvexp='seven five one five nine five six seven six zero double nine five zero six seven two zero three eight seven one four one eight nine seven five seven two four six seven five one nine double zero six six two five eight seven eight six four zero six seven zero three zero five seven nine six four six five seven zero one six triple five double seven two six double nine double six seven two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='3799620377074233419333355599242743805155864309640885130882726110701418994547411411126234428060';\r\nzv=[7 9 1 15 13 7 8 15 8 2 6 3 ];\r\nvexp='three seven double nine six two zero three double seven zero seven four two double three four one nine quadruple three triple five double nine two four two seven four three eight zero five one double five eight six four three zero nine six four zero double eight five one three zero double eight two seven two six double one zero seven zero one four one eight double nine four five four seven four double one four triple one two six two three double four two eight zero six zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4044617922891601574869890265644168731524925085154541620867323759734908590210726392474762696192267779';\r\nzv=[11 10 11 14 12 2 4 1 11 7 10 2 1 4 ];\r\nvexp='four zero double four six one seven nine double two eight nine one six zero one five seven four eight six nine eight nine zero two six five six double four one six eight seven three one five two four nine two five zero eight five one five four five four one six two zero eight six seven three two three seven five nine seven three four nine zero eight five nine zero two one zero seven two six three nine two four seven four seven six two six nine six one nine double two six triple seven nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='496013127684385845636701597670212145677337967472957547809568709115873526515';\r\nzv=[3 3 8 7 2 10 9 4 15 9 5 ];\r\nvexp='four nine six zero one three one two seven six eight four three eight five eight four five six three six seven zero one five nine seven six seven zero two one two one four five six double seven double three seven nine six seven four seven two nine five seven five four seven eight zero nine five six eight seven zero nine double one five eight seven three five two six five one five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='820821167030568093577157791027439613729645803722099835506620383';\r\nzv=[10 5 12 5 9 7 12 1 1 1 ];\r\nvexp='eight two zero eight two double one six seven zero three zero five six eight zero nine three five double seven one five double seven nine one zero two seven four three nine six one three seven two nine six four five eight zero three seven double two zero double nine eight three double five zero double six two zero three eight three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='408657487448884114668701663855295152810754544275633734090577026733934929585122688051672821523';\r\nzv=[9 12 14 7 13 4 11 14 5 1 1 2 ];\r\nvexp='four zero eight six five seven four eight seven double four triple eight four double one four double six eight seven zero one double six three eight double five two nine five one five two eight one zero seven five four five double four two seven five six double three seven three four zero nine zero five seven seven zero two six seven double three nine three four nine two nine five eight five one double two six double eight zero five one six seven two eight two one five two three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='83666830362426720310982782694422780383449883455418709';\r\nzv=[12 1 5 6 9 9 3 2 5 1 ];\r\nvexp='eight three triple six eight three zero three six two four two six seven two zero three one zero nine eight two seven eight two six nine double four double two seven eight zero three eight three double four nine eight eight three four double five four one eight seven zero nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='70';\r\nzv=[2 ];\r\nvexp='seven zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='65766688929471206192343267171090766327239398418349595012751051227962607';\r\nzv=[3 11 13 6 13 11 9 5 ];\r\nvexp='six five seven triple six double eight nine two nine four seven one two zero six one nine two three four three two six seven one seven one zero nine zero seven double six three two seven two three nine three nine eight four one eight three four nine five nine five zero one two seven five one zero five one double two seven nine six two six zero seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='48133338660378550326078225767453276529';\r\nzv=[11 14 13 ];\r\nvexp='four eight one quadruple three eight double six zero three seven eight double five zero three two six zero seven eight double two five seven six seven four five three two seven six five two nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='36891843662484180026365939189054753849425696106318144849957054540856';\r\nzv=[1 5 14 8 6 13 11 4 2 3 1 ];\r\nvexp='three six eight nine one eight four three double six two four eight four one eight double zero two six three six five nine three nine one eight nine zero five four seven five three eight four nine four two five six nine six one zero six three one eight one double four eight four double nine five seven zero five four five four zero eight five six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='34612462486594272419457058352837598957197066493857794521556931700796417114875';\r\nzv=[4 3 13 11 10 4 7 7 6 8 4 ];\r\nvexp='three four six one two four six two four eight six five nine four two seven two four one nine four five seven zero five eight three five two eight three seven five nine eight nine five seven one nine seven zero double six four nine three eight five double seven nine four five two one double five six nine three one seven double zero seven nine six four one seven double one four eight seven five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='589307734140137421765302377855535665358764079941118868097';\r\nzv=[5 11 10 15 1 13 1 1 ];\r\nvexp='five eight nine three zero double seven three four one four zero one three seven four two one seven six five three zero two three seven seven eight triple five three five double six five three five eight seven six four zero seven double nine four triple one double eight six eight zero nine seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='3672631606882947123107630174376653028408088502237547432460099875379219240390535201264402423';\r\nzv=[12 1 6 4 1 9 13 15 7 12 6 2 3 ];\r\nvexp='three six seven two six three one six zero six double eight two nine four seven one two three one zero seven six three zero one seven four three seven double six five three zero two eight four zero eight zero double eight five zero two two three seven five four seven four three two four six double zero double nine eight seven five three seven nine two one nine two four zero three nine zero five three five two zero one two six double four zero two four two three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='071297839181663799718842689232241580363293469938821908366311';\r\nzv=[8 9 3 4 4 1 4 9 15 2 1 ];\r\nvexp='zero seven one two nine seven eight three nine one eight one double six three seven nine nine seven one double eight four two six eight nine two three double two four one five eight zero three six three two nine three four six double nine three double eight two one nine zero eight three double six three one one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='76980639645671034156972091320389208';\r\nzv=[5 9 7 9 2 2 1 ];\r\nvexp='seven six nine eight zero six three nine six four five six seven one zero three four one five six nine seven two zero nine one three two zero three eight nine two zero eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5521307963254865684315120841260812155841496873543096528814951132569054';\r\nzv=[13 5 14 11 13 8 1 3 2 ];\r\nvexp='double five two one three zero seven nine six three two five four eight six five six eight four three one five one two zero eight four one two six zero eight one two one double five eight four one four nine six eight seven three five four three zero nine six five two double eight one four nine five double one three two five six nine zero five four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9288';\r\nzv=[2 1 1 ];\r\nvexp='nine two eight eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0477182564467935086';\r\nzv=[15 3 1 ];\r\nvexp='zero four double seven one eight two five six double four six seven nine three five zero eight six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1433203960656799099205210173223686919427402173272324965993447708611755416843183525933643187989942239';\r\nzv=[8 10 1 14 8 13 15 6 1 13 8 3 ];\r\nvexp='one four double three two zero three nine six zero six five six seven double nine zero nine nine two zero five two one zero one seven three double two three six eight six nine one nine four two seven four zero two one seven three two seven two three two four nine six five double nine three double four double seven zero eight six double one seven five five four one six eight four three one eight three five two five nine double three six four three one eight seven nine eight double nine four two two three nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='82446767675781104095354046763771917813590078380710445861437926027908370597627610';\r\nzv=[9 1 2 4 4 3 2 15 14 9 4 6 1 5 1 ];\r\nvexp='eight two double four six seven six seven six seven five seven eight double one zero four zero nine five three five four zero four six seven six three double seven one nine one seven eight one three five nine double zero seven eight three eight zero seven one zero double four five eight six one four three seven nine two six zero two seven nine zero eight three seven zero five nine seven six two seven six one zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='305859569860086103046061825673705281159146364994491117222909271811137063811520971285027239387660793';\r\nzv=[12 2 7 15 6 3 1 6 3 8 7 10 5 10 4 ];\r\nvexp='three zero five eight five nine five six nine eight six zero zero eight six one zero three zero four six zero six one eight two five six seven three seven zero five two eight one one five nine one four six three six four nine nine double four nine double one one seven two double two nine zero nine two seven one eight triple one three seven zero six three eight double one five two zero nine seven one two eight five zero two seven two three nine three eight seven double six zero seven nine three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5190986793820061002';\r\nzv=[8 7 4 ];\r\nvexp='five one nine zero nine eight six seven nine three eight two double zero six one double zero two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='732818804656837051738362946791984298270657440266341399683255575214033229065283049378339674351';\r\nzv=[10 3 8 14 3 4 13 7 3 4 14 9 1 ];\r\nvexp='seven three two eight one double eight zero four six five six eight three seven zero five one seven three eight three six two nine four six seven nine one nine eight four two nine eight two seven zero six five seven double four zero two double six three four one three double nine six eight three two triple five seven five two one four zero double three double two nine zero six five two eight three zero four nine three seven eight double three nine six seven four three five one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='22878757492589018002205051162666163148087357471571794221657045672188988933603952144766843';\r\nzv=[7 10 8 14 13 5 11 4 15 1 1 ];\r\nvexp='double two eight seven eight seven five seven four nine two five eight nine zero one eight double zero double two zero five zero five double one six two triple six one six three one four eight zero eight seven three five seven four seven one five seven one seven nine four double two one six five seven zero four five six seven two one double eight nine double eight nine double three six zero three nine five two one double four seven double six eight four three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='68748245479848622009943617274780676690467343336858764026953343';\r\nzv=[1 11 14 3 10 13 5 1 1 2 1 ];\r\nvexp='six eight seven four eight two four five four seven nine eight four eight six double two double zero double nine four three six one seven two seven four seven eight zero six seven double six nine zero four six seven three four triple three six eight five eight seven six four zero two six nine five three three four three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='812443820860567150296801089721522978252459617325444234454527699088834091962915459804249813572793576';\r\nzv=[2 8 1 1 15 4 8 14 1 10 8 8 15 1 2 1 ];\r\nvexp='eight one two double four three eight two zero eight six zero five six seven one five zero two nine six eight zero one zero eight nine seven two one five double two nine seven eight two five two four five nine six one seven three two five triple four two three four four five four five two seven six double nine zero triple eight three four zero nine one nine six two nine one five four five nine eight zero four two four nine eight one three five seven two seven nine three five seven six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='00993661068572459991536596938758768256572549986877220';\r\nzv=[9 11 7 7 12 7 ];\r\nvexp='double zero double nine three double six one zero six eight five seven two four five triple nine one five three six five nine six nine three eight seven five eight seven six eight two five six five seven two five four double nine eight six eight double seven double two zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='27715163656297176275418439056931612320615454463000744707732526889213294949588908195775568';\r\nzv=[15 2 13 1 3 6 2 15 4 1 10 9 7 1 ];\r\nvexp='two double seven one five one six three six five six two nine seven one seven six two seven five four one eight four three nine zero five six nine three one six one two three two zero six one five four five double four six three triple zero seven double four seven zero double seven three two five two six double eight nine two one three two nine four nine four nine five double eight nine zero eight one nine five double seven double five six eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='66836591190528744386233121519205009660791065830470';\r\nzv=[9 10 6 12 13 ];\r\nvexp='double six eight three six five nine double one nine zero five two eight seven double four three eight six two double three one two one five one nine two zero five double zero nine double six zero seven nine one zero six five eight three zero four seven zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9908105226888800867627299504353445485000888760967649670742';\r\nzv=[5 6 8 5 2 10 6 7 3 3 3 ];\r\nvexp='double nine zero eight one zero five double two six eight triple eight double zero eight six seven six two seven two nine nine five zero four three five three double four five four eight five triple zero double eight eight seven six zero nine six seven six four nine six seven zero seven four two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='23013192041633596995161673827352665194498573133742450639121977';\r\nzv=[14 9 11 9 10 5 4 ];\r\nvexp='two three zero one three one nine two zero four one six double three five nine six double nine five one six one six seven three eight two seven three five two double six five one nine double four nine eight five seven three one double three seven four two four five zero six three nine one two one nine double seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='561876161628602626933868362823471568496758529903516004832334874950999565539';\r\nzv=[2 14 12 12 1 3 10 14 1 5 1 ];\r\nvexp='five six one eight seven six one six one six two eight six zero two six two six nine double three eight six eight three six two eight two three four seven one five six eight four nine six seven five eight five two double nine zero three five one six double zero four eight three two double three four eight seven four nine five zero double nine nine five six double five three nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0659336967718923857487379930716973116724796708015053702806099696109';\r\nzv=[15 10 2 5 12 9 11 2 1 ];\r\nvexp='zero six five nine double three six nine six double seven one eight nine two three eight five seven four eight seven three seven nine nine three zero seven one six nine seven three double one six seven two four seven nine six seven zero eight zero one five zero five three seven zero two eight zero six zero double nine six nine six one zero nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='2544353234854864102426825493629094429744221828448703587259611510954048582897631523802527480763958';\r\nzv=[9 9 5 9 1 11 2 9 5 4 1 10 12 10 ];\r\nvexp='two five double four three five three two three four eight five four eight six four one zero two four two six eight two five four nine three six two nine zero nine double four two nine seven double four double two one eight two eight double four eight seven zero three five eight seven two five nine six one one five one zero nine five four zero four eight five eight two eight nine seven six three one five two three eight zero two five two seven four eight zero seven six three nine five eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='743482174037207702159915214008';\r\nzv=[2 10 10 7 1 ];\r\nvexp='seven four three four eight two one seven four zero three seven two zero double seven zero two one five double nine one five two one four double zero eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='971685936861297496680545';\r\nzv=[2 1 3 3 8 3 2 2 ];\r\nvexp='nine seven one six eight five nine three six eight six one two nine seven four nine double six eight zero five four five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='06384119765848786807703567200612243886752458257039700258908161';\r\nzv=[10 1 12 5 9 7 1 8 5 2 2 ];\r\nvexp='zero six three eight four double one nine seven six five eight four eight seven eight six eight zero double seven zero three five six seven two zero zero six one double two four three double eight six seven five two four five eight two five seven zero three nine seven double zero two five eight nine zero eight one six one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='661888688696858666215517613281167258136127005883725278169489607542378190912692984613629598';\r\nzv=[12 6 4 10 8 13 9 12 8 2 2 3 1 ];\r\nvexp='double six one triple eight six double eight six nine six eight five eight triple six two one double five one seven six one three two eight double one six seven two five eight one three six one two seven double zero five double eight three seven two five two seven eight one six nine four eight nine six zero seven five four two three seven eight one nine zero nine one two six nine two nine eight four six one three six two nine five nine eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='11869488318253809620396499';\r\nzv=[8 8 4 4 2 ];\r\nvexp='double one eight six nine four double eight three one eight two five three eight zero nine six two zero three nine six four double nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='3247242326877973396352267916489703639981791';\r\nzv=[10 6 9 1 14 3 ];\r\nvexp='three two four seven two four two three two six eight double seven nine seven three three nine six three five double two six seven nine one six four eight nine seven zero three six three double nine eight one seven nine one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='8446827840499583394994945831973919523300569749298887484989096588752282260';\r\nzv=[13 4 10 14 13 11 8 ];\r\nvexp='eight double four six eight two seven eight four zero four double nine five eight double three nine four double nine four nine four five eight three one nine seven three nine one nine five two double three double zero five six nine seven four nine two nine triple eight seven four eight four nine eight nine zero nine six five double eight seven five double two eight double two six zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='411450';\r\nzv=[3 2 1 ];\r\nvexp='four double one four five zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4392336769670743812140126277793124578244122498979213427064735267724740372712';\r\nzv=[11 12 7 15 6 5 10 5 4 1 ];\r\nvexp='four three nine two double three six seven six nine six seven zero seven four three eight one two one four zero one two six two triple seven nine three one two four five seven eight two double four one double two four nine eight nine seven nine two one three four two seven zero six four seven three five two six double seven two four seven four zero three seven two seven one two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='787130205914703441344904';\r\nzv=[5 6 7 4 1 1 ];\r\nvexp='seven eight seven one three zero two zero five nine one four seven zero three double four one three double four nine zero four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='12774525496510270478837791597218598140900';\r\nzv=[3 3 14 8 5 1 6 1 ];\r\nvexp='one two seven seven four five two five four nine six five one zero two seven zero four seven eight eight three double seven nine one five nine seven two one eight five nine eight one four zero nine zero zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='8337240067278766126028792694666601545641';\r\nzv=[1 3 2 9 7 3 12 3 ];\r\nvexp='eight double three seven two four double zero six seven two seven eight seven six six one two six zero two eight seven nine two six nine four quadruple six zero one five four five six four one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='07284423399956161619055960652374322967216';\r\nzv=[3 1 12 6 10 8 1 ];\r\nvexp='zero seven two eight double four two double three triple nine five six one six one six one nine zero five five nine six zero six five two three seven four three double two nine six seven two one six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='014588023080298629688';\r\nzv=[1 11 4 4 1 ];\r\nvexp='zero one four five double eight zero two three zero eight zero two nine eight six two nine six eight eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='391932612615185460799778659969591684168549057796895984';\r\nzv=[13 7 2 2 7 3 14 2 3 1 ];\r\nvexp='three nine one nine three two six one two six one five one eight five four six zero seven nine nine seven seven eight six five double nine six nine five nine one six eight four one six eight five four nine zero five double seven nine six eight nine five nine eight four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='85267068576145';\r\nzv=[9 3 1 1 ];\r\nvexp='eight five two six seven zero six eight five seven six one four five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\ntoc\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":1,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-09-29T21:50:16.000Z","updated_at":"2013-09-29T21:58:27.000Z","published_at":"2013-09-29T21:58:27.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/2924486/dashboard\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 China Read Phone Number\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Large Case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Goal is to output a string for the reading of a segmented phone number. When numbers are replicated within a segment the number is preceded by its multiplier. If there are more than 10 repeats in a segment then the number is output for the number of occurrences. Count multipliers are double, triple, quadruple, quintuple, sextuple, septuple, octuple, nonuple, and decuple for 2 thru 10, respectively. The \u0026gt; 10 repeats occurs in the Large Data set.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [Number, Segments] where Number is a string and segments is a Vector that sums to the length of Number\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Text, a string of the reading based upon segments\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[[Number,Segments]  [Text]\\n  ['15012233444', [3 4 4]] ['one five zero one double two three three triple four']\\n  ['15012233444', [3 3 5]] ['one five zero one double two double three triple four']]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eContest Performance:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Best Time of 12 minutes with 1094 of 3058 able to process the Large data set.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":1934,"title":"GJam 2014 China Rd B: Sudoku Checker","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/2929486/dashboard#s=p0 GJam 2014 China Sudoku\u003e. Large Case.\r\n\r\nThe Goal is determine if the Sudoku square is valid. Each row and column  must contain 1:N, for an NxN matix. Nroot=N^.5. Each NrootxNroot block must contain 1:N where blocks start at [1,1+Nroot,...] in Row/Col.\r\n\r\n\r\n*Input:* [M], NxN matrix (3^2\u003c=N\u003c=6^2)\r\n\r\n*Output:* TF, 1=Valid, 0=Invalid\r\n\r\n*Examples:*\r\n\r\n  TF=1\r\n  5 3 4 6 7 8 9 1 2\r\n  6 7 2 1 9 5 3 4 8\r\n  1 9 8 3 4 2 5 6 7\r\n  8 5 9 7 6 1 4 2 3\r\n  4 2 6 8 5 3 7 9 1\r\n  7 1 3 9 2 4 8 5 6\r\n  9 6 1 5 3 7 2 8 4\r\n  2 8 7 4 1 9 6 3 5\r\n  3 4 5 2 8 6 1 7 9\r\n  \r\n  TF=0\r\n  5 3 4 6 7 8 9 1 2\r\n  6 7 2 1 9 5 3 4 8\r\n  1 9 8 3 4 2 5 6 7\r\n  8 5 9 7 6 1 4 2 3\r\n  4 2 6 8 999 3 7 9 1\r\n  7 1 3 9 2 4 8 5 6\r\n  9 6 1 5 3 7 2 8 4\r\n  2 8 7 4 1 9 6 3 5\r\n  3 4 5 2 8 6 1 7 9\r\n\r\n\r\n*Contest Performance:* Best Delta Time of 7 minutes with 1146 of 2010 able to process the large data set.\r\n","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/2929486/dashboard#s=p0\"\u003eGJam 2014 China Sudoku\u003c/a\u003e. Large Case.\u003c/p\u003e\u003cp\u003eThe Goal is determine if the Sudoku square is valid. Each row and column  must contain 1:N, for an NxN matix. Nroot=N^.5. Each NrootxNroot block must contain 1:N where blocks start at [1,1+Nroot,...] in Row/Col.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [M], NxN matrix (3^2\u0026lt;=N\u0026lt;=6^2)\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e TF, 1=Valid, 0=Invalid\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eTF=1\r\n5 3 4 6 7 8 9 1 2\r\n6 7 2 1 9 5 3 4 8\r\n1 9 8 3 4 2 5 6 7\r\n8 5 9 7 6 1 4 2 3\r\n4 2 6 8 5 3 7 9 1\r\n7 1 3 9 2 4 8 5 6\r\n9 6 1 5 3 7 2 8 4\r\n2 8 7 4 1 9 6 3 5\r\n3 4 5 2 8 6 1 7 9\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003eTF=0\r\n5 3 4 6 7 8 9 1 2\r\n6 7 2 1 9 5 3 4 8\r\n1 9 8 3 4 2 5 6 7\r\n8 5 9 7 6 1 4 2 3\r\n4 2 6 8 999 3 7 9 1\r\n7 1 3 9 2 4 8 5 6\r\n9 6 1 5 3 7 2 8 4\r\n2 8 7 4 1 9 6 3 5\r\n3 4 5 2 8 6 1 7 9\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eContest Performance:\u003c/b\u003e Best Delta Time of 7 minutes with 1146 of 2010 able to process the large data set.\u003c/p\u003e","function_template":"function TF=Sudoku_CH(m)\r\n TF=0;\r\nend","test_suite":"%%\r\nzm=[13 4 3 6 1 8 7 10 5 12 11 14 9 16 15 2 ;2 5 8 7 6 9 12 11 10 13 16 15 14 1 4 3 ;15 14 1 12 3 2 5 16 7 6 9 4 11 10 13 8 ;16 11 10 9 4 15 14 13 8 3 2 1 12 7 6 5 ;1 8 7 10 5 12 11 14 9 16 15 2 13 4 3 6 ;6 9 12 11 10 13 16 15 14 1 4 3 2 5 8 7 ;3 2 5 16 7 6 9 4 11 10 13 8 15 14 1 12 ;4 15 14 13 8 3 2 1 12 7 6 5 16 11 10 9 ;5 12 11 14 9 16 15 2 13 4 3 6 1 8 7 10 ;10 13 16 15 14 1 4 3 2 5 8 7 6 9 12 11 ;7 6 9 4 11 10 13 8 15 14 1 12 3 2 5 16 ;8 3 2 1 12 7 6 5 16 11 10 9 4 15 14 13 ;9 16 15 2 13 4 3 6 1 8 7 10 5 12 11 14 ;14 1 4 3 2 5 8 7 6 9 12 11 10 13 16 15 ;11 10 13 8 15 14 1 12 3 2 5 16 7 6 9 4 ;12 7 6 5 16 11 10 9 4 15 14 13 8 3 2 1 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[7 36 5 16 33 32 13 6 11 22 3 2 19 12 17 28 9 8 25 18 23 34 15 14 31 24 29 4 21 20 1 30 35 10 27 26 ;20 25 30 17 10 3 26 31 36 23 16 9 32 1 6 29 22 15 2 7 12 35 28 21 8 13 18 5 34 27 14 19 24 11 4 33 ;27 26 13 24 11 4 33 32 19 30 17 10 3 2 25 36 23 16 9 8 31 6 29 22 15 14 1 12 35 28 21 20 7 18 5 34 ;34 9 8 19 18 29 4 15 14 25 24 35 10 21 20 31 30 5 16 27 26 1 36 11 22 33 32 7 6 17 28 3 2 13 12 23 ;35 22 15 14 31 6 5 28 21 20 1 12 11 34 27 26 7 18 17 4 33 32 13 24 23 10 3 2 19 30 29 16 9 8 25 36 ;12 23 28 21 2 1 18 29 34 27 8 7 24 35 4 33 14 13 30 5 10 3 20 19 36 11 16 9 26 25 6 17 22 15 32 31 ;13 6 11 22 3 2 19 12 17 28 9 8 25 18 23 34 15 14 31 24 29 4 21 20 1 30 35 10 27 26 7 36 5 16 33 32 ;26 31 36 23 16 9 32 1 6 29 22 15 2 7 12 35 28 21 8 13 18 5 34 27 14 19 24 11 4 33 20 25 30 17 10 3 ;33 32 19 30 17 10 3 2 25 36 23 16 9 8 31 6 29 22 15 14 1 12 35 28 21 20 7 18 5 34 27 26 13 24 11 4 ;4 15 14 25 24 35 10 21 20 31 30 5 16 27 26 1 36 11 22 33 32 7 6 17 28 3 2 13 12 23 34 9 8 19 18 29 ;5 28 21 20 1 12 11 34 27 26 7 18 17 4 33 32 13 24 23 10 3 2 19 30 29 16 9 8 25 36 35 22 15 14 31 6 ;18 29 34 27 8 7 24 35 4 33 14 13 30 5 10 3 20 19 36 11 16 9 26 25 6 17 22 15 32 31 12 23 28 21 2 1 ;19 12 17 28 9 8 25 18 23 34 15 14 31 24 29 4 21 20 1 30 35 10 27 26 7 36 5 16 33 32 13 6 11 22 3 2 ;32 1 6 29 22 15 2 7 12 35 28 21 8 13 18 5 34 27 14 19 24 11 4 33 20 25 30 17 10 3 26 31 36 23 16 9 ;3 2 25 36 23 16 9 8 31 6 29 22 15 14 1 12 35 28 21 20 7 18 5 34 28 26 13 24 11 4 33 32 19 30 17 10 ;10 21 20 31 30 5 16 27 26 1 36 11 22 33 32 7 6 17 28 3 2 13 12 23 34 9 8 19 18 29 4 15 14 25 24 35 ;11 34 27 26 7 18 17 4 33 32 13 24 23 10 3 2 19 30 29 16 9 8 25 36 35 22 15 14 31 6 5 28 21 20 1 12 ;24 35 4 33 14 13 30 5 10 3 20 19 36 11 16 9 26 25 6 17 22 15 32 31 12 23 28 21 2 1 18 29 34 27 8 7 ;25 18 23 34 15 14 31 24 29 4 21 20 1 30 35 10 27 26 7 36 5 16 33 32 13 6 11 22 3 2 19 12 17 28 9 8 ;2 7 12 35 28 21 8 13 18 5 34 27 14 19 24 11 4 33 20 25 30 17 10 3 26 31 36 23 16 9 32 1 6 29 22 15 ;9 8 31 6 29 22 15 14 1 12 35 28 21 20 7 18 5 34 27 26 13 24 11 4 33 32 19 30 17 10 3 2 25 36 23 16 ;16 27 26 1 36 11 22 33 32 7 6 17 28 3 2 13 12 23 34 9 8 19 18 29 4 15 14 25 24 35 10 21 20 31 30 5 ;17 4 33 32 13 24 23 10 3 2 19 30 29 16 9 8 25 36 35 22 15 14 31 6 5 28 21 20 1 12 11 34 27 26 7 18 ;30 5 10 3 20 19 36 11 16 9 26 25 6 17 22 15 32 31 12 23 28 21 2 1 18 29 34 27 8 7 24 35 4 33 14 13 ;31 24 29 4 21 20 1 30 35 10 27 26 7 36 5 16 33 32 13 6 11 22 3 2 19 12 17 28 9 8 25 18 23 34 15 14 ;8 13 18 5 34 27 14 19 24 11 4 33 20 25 30 17 10 3 26 31 36 23 16 9 32 1 6 29 22 15 2 7 12 35 28 21 ;15 14 1 12 35 28 21 20 7 18 5 34 27 26 13 24 11 4 33 32 19 30 17 10 3 2 25 36 23 16 9 8 31 6 29 22 ;22 33 32 7 6 17 28 3 2 13 12 23 34 9 8 19 18 29 4 15 14 25 24 35 10 21 20 31 30 5 16 27 26 1 36 11 ;23 10 3 2 19 30 29 16 9 8 25 36 35 22 15 14 31 6 5 28 21 20 1 12 11 34 27 26 7 18 17 4 33 32 13 24 ;36 11 16 9 26 25 6 17 22 15 32 31 12 23 28 21 2 1 18 29 34 27 8 7 24 35 4 33 14 13 30 5 10 3 20 19 ;1 30 35 10 27 26 7 36 5 16 33 32 13 6 11 22 3 2 19 12 17 28 9 8 25 18 23 34 15 14 31 24 29 4 21 20 ;14 19 24 11 4 33 20 25 30 17 10 3 26 31 36 23 16 9 32 1 6 29 22 15 2 7 12 35 28 21 8 13 18 5 34 27 ;21 20 7 18 5 34 27 26 13 24 11 4 33 32 19 30 17 10 3 2 25 36 23 16 9 8 31 6 29 22 15 14 1 12 35 28 ;28 3 2 13 12 23 34 9 8 19 18 29 4 15 14 25 24 35 10 21 20 31 30 5 16 27 26 1 36 11 22 33 32 7 6 17 ;29 16 9 8 25 36 35 22 15 14 31 6 5 28 21 20 1 12 11 34 27 26 7 18 17 4 33 32 13 24 23 10 3 2 19 30 ;6 17 22 15 32 31 12 23 28 21 2 1 18 29 34 27 8 7 24 35 4 33 14 13 30 5 10 3 20 19 36 11 16 9 26 25 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[5 8 7 10 9 12 11 14 13 16 15 2 1 4 3 6 ;14 13 13 11 2 1 16 15 6 5 4 3 10 9 8 7 ;3 6 1 4 7 10 5 8 11 14 9 12 15 2 13 16 ;16 15 2 9 4 3 6 13 8 7 10 1 12 11 14 5 ;9 12 11 14 13 16 15 2 1 4 3 6 5 8 7 10 ;2 1 16 15 6 5 4 3 10 9 8 7 14 13 12 11 ;7 10 5 8 11 14 9 12 15 2 13 16 3 6 1 4 ;4 3 6 13 8 7 10 1 12 11 14 5 16 15 2 9 ;13 16 15 2 1 4 3 6 5 8 7 10 9 12 11 14 ;6 5 4 3 10 9 8 7 14 13 12 11 2 1 16 15 ;11 14 9 12 15 2 13 16 3 6 1 4 7 10 5 8 ;8 7 10 1 12 11 14 5 16 15 2 9 4 3 6 13 ;1 4 3 6 5 8 7 10 9 12 11 14 13 16 15 2 ;10 9 8 7 14 13 12 11 2 1 16 15 6 5 4 3 ;15 2 13 16 3 6 1 4 7 10 5 8 11 14 9 12 ;12 11 14 5 16 15 2 9 4 3 6 13 8 7 10 1 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[5 12 3 14 9 16 7 2 13 4 11 6 1 8 15 10 ;6 9 4 11 10 13 8 16 14 1 12 3 2 5 16 7 ;7 10 1 16 11 14 5 4 15 2 9 8 3 6 13 12 ;8 15 2 13 12 3 6 1 16 7 10 5 4 11 14 9 ;9 16 7 2 13 4 11 6 1 8 15 10 5 12 3 14 ;10 13 8 15 14 1 12 3 2 5 16 7 6 9 4 11 ;11 14 5 4 15 2 9 8 3 6 13 12 7 10 1 16 ;12 3 6 1 16 7 10 5 4 11 14 9 8 15 2 13 ;13 4 11 6 1 8 15 10 5 12 3 14 9 16 7 2 ;14 1 12 3 2 5 16 7 6 9 4 11 10 13 8 15 ;15 2 9 8 3 6 13 12 7 10 1 16 11 14 5 4 ;16 7 10 5 4 11 14 9 8 15 2 13 12 3 6 1 ;1 8 15 10 5 12 3 14 9 16 7 2 13 4 11 6 ;2 5 16 7 6 9 4 11 10 13 8 15 14 1 12 3 ;3 6 13 12 7 10 1 16 11 14 5 4 15 2 9 8 ;4 11 14 9 8 15 2 13 12 3 6 1 16 7 10 5 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 3 8 4 6 2 7 9 5 ;2 7 6 5 1 9 8 4 3 ;9 5 4 3 8 7 6 2 1 ;4 6 2 7 9 5 1 3 8 ;5 1 9 8 4 3 2 7 6 ;3 8 7 6 2 1 9 5 4 ;7 9 5 1 3 8 4 6 2 ;8 4 3 2 7 6 5 1 9 ;6 2 1 9 5 4 3 8 7 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[31 36 11 22 33 20 1 6 17 28 3 26 7 12 23 34 9 32 13 18 29 4 15 2 19 24 35 10 21 8 25 30 5 16 27 14 ;14 25 6 29 34 15 20 31 12 35 4 21 26 1 18 5 10 27 32 7 24 11 16 33 2 13 30 17 22 3 8 19 36 23 28 9 ;3 2 13 12 5 28 9 8 19 18 11 34 15 14 25 24 17 4 21 20 31 30 23 10 27 26 1 36 29 16 33 32 7 6 35 22 ;16 9 26 1 24 17 22 15 32 7 30 23 28 21 2 13 36 29 34 27 8 19 6 35 4 33 14 25 12 5 10 3 20 31 18 11 ;23 4 21 8 19 18 29 10 27 14 25 24 35 16 33 20 31 30 5 22 3 26 1 36 11 28 9 32 7 6 17 34 15 2 13 12 ;30 35 10 27 32 7 36 5 16 33 2 13 6 11 22 3 8 19 12 17 28 9 14 25 18 23 34 15 20 31 24 29 4 21 26 1 ;1 6 17 28 3 26 7 12 23 34 9 32 13 18 29 4 15 2 19 24 35 10 21 8 25 30 5 16 27 14 31 36 11 22 33 20 ;20 31 12 35 4 21 26 1 18 5 10 27 32 7 24 11 16 33 2 13 30 17 22 3 8 19 36 23 28 9 14 25 6 29 34 15 ;9 8 19 18 11 34 15 14 25 24 17 4 21 20 31 30 23 10 27 26 1 36 29 16 33 32 7 6 35 22 3 2 13 12 5 28 ;22 15 32 7 30 23 28 21 2 13 36 29 34 27 8 19 6 35 4 33 14 25 12 5 10 3 20 31 18 11 16 9 26 1 24 17 ;29 10 27 14 25 24 35 16 33 20 31 30 5 22 3 26 1 36 11 28 9 32 7 6 17 34 15 2 13 12 23 4 21 8 19 18 ;36 5 16 33 2 13 6 11 22 3 8 19 12 17 28 9 14 25 18 23 34 15 20 31 24 29 4 21 26 1 30 35 10 27 32 7 ;7 12 23 34 9 32 13 18 29 4 15 2 19 24 35 10 21 8 25 30 5 16 27 14 31 36 11 22 33 20 1 6 17 28 3 26 ;26 1 18 5 10 27 32 7 24 11 16 33 2 13 30 17 22 3 8 19 36 23 29 9 14 25 6 29 34 15 20 31 12 35 4 21 ;15 14 25 24 17 4 21 20 31 30 23 10 27 26 1 36 29 16 33 32 7 6 35 22 3 2 13 12 5 28 9 8 19 18 11 34 ;28 21 2 13 36 29 34 27 8 19 6 35 4 33 14 25 12 5 10 3 20 31 18 11 16 9 26 1 24 17 22 15 32 7 30 23 ;35 16 33 20 31 30 5 22 3 26 1 36 11 28 9 32 7 6 17 34 15 2 13 12 23 4 21 8 19 18 29 10 27 14 25 24 ;6 11 22 3 8 19 12 17 28 9 14 25 18 23 34 15 20 31 24 29 4 21 26 1 30 35 10 27 32 7 36 5 16 33 2 13 ;13 18 29 4 15 2 19 24 35 10 21 8 25 30 5 16 27 14 31 36 11 22 33 20 1 6 17 28 3 26 7 12 23 34 9 32 ;32 7 24 11 16 33 2 13 30 17 22 3 8 19 36 23 28 9 14 25 6 29 34 15 20 31 12 35 4 21 26 1 18 5 10 27 ;21 20 31 30 23 10 27 26 1 36 29 16 33 32 7 6 35 22 3 2 13 12 5 28 9 8 19 18 11 34 15 14 25 24 17 4 ;34 27 8 19 6 35 4 33 14 25 12 5 10 3 20 31 18 11 16 9 26 1 24 17 22 15 32 7 30 23 28 21 2 13 36 29 ;5 22 3 26 1 36 11 28 9 32 7 6 17 34 15 2 13 12 23 4 21 8 19 18 29 10 27 14 25 24 35 16 33 20 31 30 ;12 17 28 9 14 25 18 23 34 15 20 31 24 29 4 21 26 1 30 35 10 27 32 7 36 5 16 33 2 13 6 11 22 3 8 19 ;19 24 35 10 21 8 25 30 5 16 27 14 31 36 11 22 33 20 1 6 17 28 3 26 7 12 23 34 9 32 13 18 29 4 15 2 ;2 13 30 17 22 3 8 19 36 23 28 9 14 25 6 29 34 15 20 31 12 35 4 21 26 1 18 5 10 27 32 7 24 11 16 33 ;27 26 1 36 29 16 33 32 7 6 35 22 3 2 13 12 5 28 9 8 19 18 11 34 15 14 25 24 17 4 21 20 31 30 23 10 ;4 33 14 25 12 5 10 3 20 31 18 11 16 9 26 1 24 17 22 15 32 7 30 23 28 21 2 13 36 29 34 27 8 19 6 35 ;11 28 9 32 7 6 17 34 15 2 13 12 23 4 21 8 19 18 29 10 27 14 25 24 35 16 33 20 31 30 5 22 3 26 1 36 ;18 23 34 15 20 31 24 29 4 21 26 1 30 35 10 27 32 7 36 5 16 33 2 13 6 11 22 3 8 19 12 17 28 9 14 25 ;25 30 5 16 27 14 31 36 11 22 33 20 1 6 17 28 3 26 7 12 23 34 9 32 13 18 29 4 15 2 19 24 35 10 21 8 ;8 19 36 23 28 9 14 25 6 29 34 15 20 31 12 35 4 21 26 1 18 5 10 27 32 7 24 11 16 33 2 13 30 17 22 3 ;33 32 7 6 35 22 3 2 13 12 5 28 9 8 19 18 11 34 15 14 25 24 17 4 21 20 31 30 23 10 27 26 1 36 29 16 ;10 3 20 31 18 11 16 9 26 1 24 17 22 15 32 7 30 23 28 21 2 13 36 29 34 27 8 19 6 35 4 33 14 25 12 5 ;17 34 15 2 13 12 23 4 21 8 19 18 29 10 27 14 25 24 35 16 33 20 31 30 5 22 3 26 1 36 11 28 9 32 7 6 ;24 29 4 21 26 1 30 35 10 27 32 7 36 5 16 33 2 13 6 11 22 3 8 19 12 17 28 9 14 25 18 23 34 15 20 31 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 12 7 14 5 16 11 2 9 4 15 6 13 8 3 10 ;10 13 16 3 14 2 4 7 2 5 8 11 6 9 12 15 ;15 2 5 8 3 6 9 12 7 10 13 16 11 14 1 4 ;4 11 6 9 8 15 10 13 12 3 14 1 16 7 2 5 ;5 16 11 2 9 4 15 6 13 8 3 10 1 12 7 14 ;14 1 4 7 2 5 8 11 6 9 12 15 10 13 16 3 ;3 6 9 12 7 10 13 16 11 14 1 4 15 2 5 8 ;8 15 10 13 12 3 14 1 16 7 2 5 4 11 6 9 ;9 4 15 6 13 8 3 10 1 12 7 14 5 16 11 2 ;2 5 8 11 6 9 12 15 10 13 16 3 14 1 4 7 ;7 10 13 16 11 14 1 4 15 2 5 8 3 6 9 12 ;12 3 14 1 16 7 2 5 4 11 6 9 8 15 10 13 ;13 8 3 10 1 12 7 14 5 16 11 2 9 4 15 6 ;6 9 12 15 10 13 16 3 14 1 4 7 2 5 8 11 ;11 14 1 4 15 2 5 8 3 6 9 12 7 10 13 16 ;16 7 2 5 4 11 6 9 8 15 10 13 12 3 14 1 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[7 6 17 16 9 20 13 12 23 22 15 26 19 18 29 28 21 32 25 24 35 34 27 2 31 30 5 4 33 8 1 36 11 10 3 14 ;26 25 12 29 34 15 32 31 18 35 4 21 2 1 24 5 10 27 8 7 30 11 16 33 14 13 36 17 22 3 20 19 6 23 28 9 ;27 14 13 36 23 28 33 20 19 6 29 34 3 26 25 12 35 4 9 32 31 18 5 10 15 2 1 24 11 16 21 8 7 30 17 22 ;22 33 2 1 18 11 28 3 8 7 24 17 34 9 14 13 30 23 4 15 20 19 36 29 10 21 26 25 6 35 16 27 32 31 12 5 ;5 10 3 8 31 30 11 16 9 14 1 36 17 22 15 20 7 6 23 28 21 26 13 12 29 34 27 32 19 18 35 4 33 2 25 24 ;24 35 4 21 32 19 30 5 10 27 2 25 36 11 16 33 8 31 6 17 22 3 14 1 12 23 28 9 20 7 18 29 34 15 26 13 ;13 12 23 22 15 26 19 18 29 28 21 32 25 24 35 34 27 2 31 30 5 4 33 8 1 36 11 10 3 14 7 6 17 16 9 20 ;32 31 18 35 4 21 2 1 24 5 10 27 8 7 30 11 16 33 14 13 36 17 22 3 20 19 6 23 28 9 26 25 12 29 34 15 ;33 20 19 6 29 34 3 26 25 12 35 4 9 32 31 18 5 10 15 2 1 24 11 16 21 8 7 30 17 22 27 14 13 36 23 28 ;28 3 8 7 24 17 34 9 14 13 30 23 4 15 20 19 36 29 10 21 26 25 6 35 16 27 32 31 12 5 22 33 2 1 18 11 ;11 16 9 14 1 36 17 22 15 20 7 6 23 28 21 26 13 12 29 34 27 32 19 18 35 4 33 2 25 24 5 10 3 8 31 30 ;30 5 10 27 2 25 36 11 16 33 8 31 6 17 22 3 14 1 12 23 28 9 20 7 18 29 34 15 26 13 24 35 4 21 32 19 ;19 18 29 28 21 32 25 24 35 34 27 2 31 30 5 4 33 8 1 36 11 10 3 14 7 6 17 16 9 20 13 12 23 22 15 26 ;2 1 24 5 10 27 8 7 30 11 16 33 14 13 36 17 22 3 20 19 6 23 28 9 26 25 12 29 34 15 32 31 18 35 4 21 ;3 26 25 12 35 4 9 32 31 18 5 10 15 2 1 24 11 16 21 8 7 30 17 22 27 14 13 36 23 28 33 20 19 6 29 34 ;34 9 14 13 30 23 4 15 20 19 36 29 10 21 26 25 6 35 16 27 32 31 12 5 22 33 2 1 18 11 28 3 8 7 24 17 ;17 22 15 20 7 6 23 28 21 26 13 12 29 34 27 32 19 18 35 4 33 2 25 24 5 10 3 8 31 30 11 16 9 14 1 36 ;36 11 16 33 8 31 6 17 22 3 14 1 12 23 28 9 20 7 18 29 34 15 26 13 24 35 4 21 32 19 30 5 10 27 2 25 ;25 24 35 34 27 2 31 30 5 4 33 8 1 36 11 10 3 14 7 6 17 16 9 20 13 12 23 22 15 26 19 18 29 28 21 32 ;8 7 30 11 16 33 14 13 36 17 22 3 20 19 6 23 28 9 26 25 12 29 34 15 32 31 18 35 4 21 2 1 24 5 10 27 ;9 32 31 18 5 10 15 2 1 24 11 16 21 8 7 30 17 22 27 14 13 36 23 28 33 20 19 6 29 34 3 26 25 12 35 4 ;4 15 20 19 36 29 10 21 26 25 6 35 16 27 32 31 12 5 22 33 2 1 18 11 28 3 8 7 24 17 34 9 14 13 30 23 ;23 28 21 26 13 12 29 34 27 32 19 18 35 4 33 2 25 24 5 10 3 8 31 30 11 16 9 14 1 36 17 22 15 20 7 6 ;6 17 22 3 14 1 12 23 28 9 20 7 18 29 34 15 26 13 24 35 4 21 32 19 30 5 10 27 2 25 36 11 16 33 8 31 ;31 30 5 4 33 8 1 36 11 10 3 14 7 6 17 16 9 20 13 12 23 22 15 26 19 18 29 28 21 32 25 24 35 34 27 2 ;14 13 36 17 22 3 20 19 6 23 28 9 26 25 12 29 34 15 32 31 18 35 4 21 2 1 24 5 10 27 8 7 30 11 16 33 ;15 2 1 24 11 16 21 8 7 30 17 22 27 14 13 36 23 28 33 20 19 6 29 34 3 26 25 12 35 4 9 32 31 18 5 10 ;10 21 26 25 6 35 16 27 32 31 12 5 22 33 2 1 18 11 28 3 8 7 24 17 34 9 14 13 30 23 4 15 20 19 36 29 ;29 34 27 32 19 18 35 4 33 2 25 24 5 10 3 8 31 30 11 16 9 14 1 36 17 22 15 20 7 6 23 28 21 26 13 12 ;12 23 28 9 20 7 18 29 34 15 26 13 24 35 4 21 32 19 30 5 10 27 2 25 36 11 16 33 8 31 6 17 22 3 14 1 ;1 36 11 10 3 14 7 6 17 16 9 20 13 12 23 22 15 26 19 18 29 28 21 32 25 24 35 34 27 2 31 30 5 4 33 8 ;20 19 6 23 28 9 26 25 12 29 34 15 32 31 18 35 4 21 2 1 24 5 10 27 8 7 30 11 16 33 14 13 36 17 22 3 ;21 8 7 30 17 22 27 14 13 36 23 28 33 20 19 6 29 34 3 26 25 12 35 4 9 32 31 18 5 10 15 2 1 24 11 16 ;16 27 32 31 12 5 22 33 2 1 18 11 28 3 8 7 24 17 34 9 14 13 30 23 4 15 20 19 36 29 10 21 26 25 6 35 ;35 4 33 2 25 24 5 10 3 8 31 30 11 16 9 14 1 36 17 22 15 20 7 6 23 28 21 26 13 12 29 34 27 32 19 18 ;18 29 34 15 26 13 24 35 4 21 32 19 30 5 10 27 2 25 36 11 16 33 8 31 6 17 22 3 14 1 12 23 28 9 20 7 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 8 11 2 5 12 15 6 9 16 3 10 13 4 7 14 ;14 9 12 7 2 13 16 11 6 1 4 15 10 5 8 3 ;3 10 13 4 7 14 1 8 11 2 5 12 15 6 9 16 ;16 15 6 5 4 3 10 9 8 7 14 13 12 11 2 1 ;5 12 15 6 9 16 3 10 13 4 7 14 1 8 11 2 ;2 13 16 11 6 1 4 15 10 5 8 3 14 9 12 7 ;7 14 1 8 11 2 5 12 15 6 9 16 3 10 13 4 ;4 3 10 9 8 7 14 13 12 11 2 1 16 15 6 5 ;9 16 3 10 13 4 7 14 1 8 11 2 5 12 15 6 ;6 1 4 15 10 5 8 3 14 9 12 7 2 13 16 11 ;11 2 5 12 15 6 9 16 3 10 13 4 7 14 1 8 ;8 7 14 13 12 11 2 1 16 15 6 5 4 3 10 9 ;13 4 7 14 1 8 11 2 5 12 15 6 9 16 3 10 ;10 5 8 3 14 9 12 7 2 13 16 11 6 1 4 15 ;15 6 9 16 3 10 13 4 7 14 1 8 11 2 5 12 ;12 11 2 1 16 15 6 5 4 3 10 9 8 7 14 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[7 36 29 16 21 14 13 6 35 22 27 20 19 12 5 28 33 26 25 18 11 34 3 32 31 24 17 4 9 2 1 30 23 10 15 8 ;20 31 24 35 34 27 26 1 30 5 4 33 32 7 36 11 10 3 2 13 6 17 16 9 8 19 12 23 22 15 14 25 18 29 28 21 ;3 8 13 6 17 4 9 14 19 12 23 10 15 20 25 18 29 16 21 26 31 24 35 22 27 32 1 30 5 28 33 2 7 36 11 34 ;10 9 26 19 18 5 16 15 32 25 24 11 22 21 2 31 30 17 28 27 8 1 36 23 34 33 14 7 6 29 4 3 20 13 12 35 ;11 22 33 32 1 30 17 28 3 2 7 36 23 34 9 8 13 6 29 4 15 14 19 12 35 10 21 20 25 18 5 16 27 26 31 24 ;12 23 28 15 2 25 18 29 34 21 8 31 24 35 4 27 14 1 30 5 10 33 20 7 36 11 16 3 26 13 6 17 22 9 32 19 ;13 6 35 22 27 20 19 12 5 28 33 26 25 18 11 34 3 32 31 24 17 4 9 2 1 30 23 10 15 8 7 36 29 16 21 14 ;26 1 30 5 4 33 32 7 36 11 10 3 2 13 6 17 16 9 8 19 12 23 22 15 14 25 18 29 28 21 20 31 24 35 34 27 ;9 14 19 12 23 10 15 20 25 18 29 16 21 26 31 24 35 22 27 32 1 30 5 28 33 2 7 36 11 34 3 8 13 6 17 4 ;16 15 32 25 24 11 22 21 2 31 30 17 28 27 8 1 36 23 34 33 14 7 6 29 4 3 20 13 12 35 10 9 26 19 18 5 ;17 28 3 2 7 36 23 34 9 8 13 6 29 4 15 14 19 12 35 10 21 20 25 18 5 16 27 26 31 24 11 22 33 32 1 30 ;18 29 34 21 8 31 24 35 4 27 14 1 30 5 10 33 20 7 36 11 16 3 26 13 6 17 22 9 32 19 12 23 28 15 2 25 ;19 12 5 28 33 26 25 18 11 34 3 32 31 24 17 4 9 2 1 30 23 10 15 8 7 36 29 16 21 14 13 6 35 22 27 20 ;32 7 36 11 10 3 2 13 6 17 16 9 8 19 12 23 22 15 14 25 18 29 28 21 20 31 24 35 34 27 26 1 30 5 4 33 ;15 20 25 18 29 16 21 26 31 24 35 22 27 32 1 30 5 28 33 2 7 36 11 34 3 8 13 6 17 4 9 14 19 12 23 10 ;22 21 2 31 30 17 28 27 8 1 36 23 34 33 14 7 6 29 4 3 20 13 12 35 10 9 26 19 18 5 16 15 32 25 24 11 ;23 34 9 8 13 6 29 4 15 14 19 12 35 10 21 20 25 18 5 16 27 26 31 24 11 22 33 32 1 30 17 28 3 2 7 36 ;24 35 4 27 14 1 30 5 10 33 20 7 36 11 16 3 26 13 6 17 22 9 32 19 12 23 28 15 2 25 18 29 34 21 8 31 ;25 18 11 34 3 32 31 24 17 4 9 2 1 30 23 10 15 8 7 36 29 16 21 14 13 6 35 22 27 20 19 12 5 28 33 26 ;2 13 6 17 16 9 8 19 12 23 22 15 14 25 18 29 28 21 20 31 24 35 34 27 26 1 30 5 4 33 32 7 36 11 10 3 ;21 26 31 24 35 22 27 32 1 30 5 28 33 2 7 36 11 34 3 8 13 6 17 4 9 14 19 12 23 10 15 20 25 18 29 16 ;28 27 8 1 36 23 34 33 14 7 6 29 4 3 20 13 12 35 10 9 26 19 18 5 16 15 32 25 24 11 22 21 2 31 30 17 ;29 4 15 14 19 12 35 10 21 20 25 18 5 16 27 26 31 24 11 22 33 32 1 30 17 28 3 2 7 36 23 34 9 8 13 6 ;30 5 10 33 20 7 36 11 16 3 26 13 6 17 22 9 32 19 12 23 28 15 2 25 18 29 34 21 8 31 24 35 4 27 14 1 ;31 24 17 4 9 2 1 30 23 10 15 8 7 36 29 16 21 14 13 6 35 22 27 20 19 12 5 28 33 26 25 18 11 34 3 32 ;8 19 12 23 22 15 14 25 18 29 28 21 20 31 24 35 34 27 26 1 30 5 4 33 32 7 36 11 10 3 2 13 6 17 16 9 ;27 32 1 30 5 28 33 2 7 36 11 34 3 8 13 6 17 4 9 14 19 12 23 10 15 20 25 18 29 16 21 26 31 24 35 22 ;34 33 14 7 6 29 4 3 20 13 12 35 10 9 26 19 18 5 16 15 32 25 24 11 22 21 2 31 30 17 28 27 8 1 36 23 ;35 10 21 20 25 18 5 16 27 26 31 24 11 22 33 32 1 30 17 28 3 2 7 36 23 34 9 8 13 6 29 4 15 14 19 12 ;36 11 16 3 26 13 6 17 22 9 32 19 12 23 28 15 2 25 18 29 34 21 8 31 24 35 4 27 14 1 30 5 10 33 20 7 ;1 30 23 10 15 8 7 36 29 16 21 14 13 6 35 22 27 20 19 12 5 28 33 26 25 18 11 34 3 32 31 24 17 4 9 2 ;14 25 18 29 28 21 20 31 24 35 34 27 26 1 30 5 4 33 32 7 36 11 10 3 2 13 6 17 16 9 8 19 12 23 22 15 ;33 2 7 36 11 34 3 8 13 6 17 4 9 14 19 12 23 10 15 20 25 18 29 16 21 26 31 24 35 22 27 32 1 30 5 28 ;4 3 20 13 12 35 10 9 26 19 18 5 16 15 32 25 24 11 22 21 2 31 30 17 28 27 8 1 36 23 34 33 14 7 6 29 ;5 16 27 26 31 24 11 22 33 32 1 30 17 28 3 2 7 36 23 34 9 8 13 6 29 4 15 14 19 12 35 10 21 20 25 18 ;6 17 22 9 32 19 12 23 28 15 2 25 18 29 34 21 8 31 24 35 4 27 14 1 30 5 10 33 20 7 36 11 16 3 26 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[7 3 8 1 6 2 4 9 5 ;2 1 6 5 4 9 8 7 3 ;9 5 4 3 8 7 6 2 1 ;1 6 2 4 9 5 7 3 8 ;5 4 9 8 7 3 2 1 6 ;3 8 7 6 2 1 9 5 4 ;4 9 6 7 3 8 1 6 2 ;8 7 3 2 1 6 5 4 9 ;6 2 1 9 5 4 3 8 7 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[9 16 3 2 13 4 7 6 1 8 11 10 5 12 15 14 ;6 13 4 15 10 1 8 3 14 5 12 7 2 9 16 11 ;11 14 1 12 15 2 5 16 3 6 9 4 7 10 13 8 ;8 7 10 5 12 11 14 9 16 15 2 13 4 3 6 1 ;13 4 7 6 1 8 11 10 5 12 15 14 9 16 3 2 ;10 1 8 3 14 5 12 7 2 9 16 11 6 13 4 15 ;15 2 5 16 3 6 9 4 7 10 13 8 11 14 1 12 ;12 11 14 9 16 15 2 13 4 3 6 1 8 7 10 5 ;1 8 11 10 5 12 15 14 9 16 3 2 13 4 7 6 ;14 5 12 7 2 9 16 11 6 13 4 15 10 1 8 3 ;3 6 9 4 7 10 13 8 11 14 1 12 15 2 5 16 ;16 15 2 13 4 3 6 1 8 7 10 5 12 11 14 9 ;5 12 15 14 9 16 3 2 13 4 7 6 1 8 11 10 ;2 9 16 11 6 13 4 15 10 1 8 3 14 5 12 7 ;7 10 13 8 11 14 1 12 15 2 5 16 3 6 9 4 ;4 3 6 1 8 7 10 5 12 11 14 9 16 15 2 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[16 20 14 18 2 21 25 19 23 7 1 5 24 3 12 6 10 4 8 17 11 15 9 13 22 ;22 11 25 19 8 2 16 5 24 13 7 21 10 4 18 12 1 15 9 23 17 6 20 14 3 ;3 12 6 5 24 8 17 11 10 4 13 22 16 15 9 18 2 21 20 14 23 7 1 25 19 ;4 13 7 21 10 9 18 12 1 15 14 23 17 6 20 19 3 22 11 25 24 8 2 16 5 ;15 9 23 17 1 20 14 3 22 6 25 19 8 2 11 5 24 13 7 16 10 4 18 12 21 ;21 25 19 23 7 1 5 24 3 12 6 10 4 8 17 11 15 9 13 22 16 20 14 18 2 ;2 16 5 24 13 7 21 10 4 18 12 1 15 9 23 17 6 20 14 3 22 11 25 19 8 ;8 17 11 10 4 13 22 16 15 9 18 2 21 20 14 23 7 1 25 19 3 12 6 5 24 ;9 18 12 1 15 14 23 17 6 20 19 3 22 11 25 24 8 2 16 5 4 13 7 21 10 ;20 14 3 22 6 25 19 8 2 11 5 24 13 7 16 10 4 18 12 21 15 9 23 17 1 ;1 5 24 3 12 6 10 4 8 17 11 15 9 13 22 16 20 14 18 2 21 25 19 23 7 ;7 21 10 4 18 12 1 15 9 23 17 6 20 14 3 22 11 25 19 8 2 16 5 24 13 ;13 22 16 15 9 18 2 21 20 14 23 7 1 25 19 3 12 6 5 24 8 17 11 10 4 ;14 23 17 6 20 19 3 22 11 25 24 8 2 16 5 4 13 7 21 10 9 18 12 1 15 ;25 19 8 2 11 5 24 13 7 16 10 4 18 12 21 15 9 23 17 1 20 14 3 22 6 ;6 10 4 8 17 11 15 9 13 22 16 20 14 18 2 21 25 19 23 7 1 5 24 3 12 ;12 1 15 9 23 17 6 20 14 3 22 11 25 19 8 2 16 5 24 13 7 21 10 4 18 ;18 2 21 20 14 23 7 1 25 19 3 12 6 5 24 8 17 11 10 4 13 22 16 15 9 ;19 3 22 11 25 24 8 2 16 5 4 13 7 21 10 9 18 12 1 15 14 23 17 6 20 ;5 24 13 7 16 10 4 18 12 21 15 9 23 17 1 20 14 3 22 6 25 19 8 2 11 ;11 15 9 13 22 16 20 14 18 2 21 25 19 23 7 1 5 24 3 12 6 10 4 8 17 ;17 6 20 14 3 22 11 25 19 8 2 16 5 24 13 7 21 10 4 18 12 1 15 9 23 ;23 7 1 25 19 3 12 6 5 24 8 17 11 10 4 13 22 16 15 9 18 2 21 20 14 ;24 8 2 16 5 4 13 7 21 10 9 18 12 1 15 14 23 17 6 20 19 3 22 11 25 ;10 4 18 12 21 15 9 23 17 1 20 14 3 22 6 25 19 8 2 11 5 24 13 7 16 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 20 4 3 2 6 25 9 8 7 11 5 14 13 12 16 10 19 18 17 21 15 24 23 22 ;17 11 25 24 23 22 16 5 4 3 2 21 10 9 8 7 1 15 14 13 12 6 20 19 18 ;8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 ;19 18 22 21 10 24 23 2 1 15 4 3 7 6 20 9 8 12 11 25 14 13 17 16 5 ;5 9 13 7 16 10 14 18 12 21 15 19 23 17 1 20 24 3 22 6 25 4 8 2 11 ;6 25 9 8 7 11 5 14 13 12 16 10 19 18 17 21 15 24 23 22 1 20 4 3 2 ;22 16 5 4 3 2 21 10 9 8 7 1 15 14 13 12 6 20 19 18 17 11 25 24 23 ;13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 ;24 23 2 1 15 4 3 7 6 20 9 8 12 11 25 14 13 17 16 5 19 18 22 21 10 ;10 14 18 12 21 15 19 23 17 1 20 24 3 22 6 25 4 8 2 11 5 9 13 7 16 ;11 5 14 13 12 16 10 19 18 17 21 15 24 23 22 1 20 4 3 2 6 25 9 8 7 ;2 21 10 9 8 7 1 15 14 13 12 6 20 19 18 17 11 25 24 23 22 16 5 4 3 ;18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 ;4 3 7 6 20 9 8 12 11 25 14 13 17 16 5 19 18 22 21 10 24 23 2 1 15 ;15 19 23 17 1 20 24 3 22 6 25 4 8 2 11 5 9 13 7 16 10 14 18 12 21 ;16 10 19 18 17 21 15 24 23 22 1 20 4 3 2 6 25 9 8 7 11 5 14 13 12 ;7 1 15 14 13 12 6 20 19 18 17 11 25 24 23 22 16 5 4 3 2 21 10 9 8 ;23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 ;9 8 12 11 25 14 13 17 16 5 19 18 22 21 10 24 23 2 1 15 4 3 7 6 20 ;20 24 3 22 6 25 4 8 2 11 5 9 13 7 16 10 14 18 12 21 15 19 23 17 1 ;21 15 24 23 22 1 20 4 3 2 6 25 9 8 7 11 5 14 13 12 16 10 19 18 17 ;12 6 20 19 18 17 11 25 24 23 22 16 5 4 3 2 21 10 9 8 7 1 15 14 13 ;3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 ;14 13 17 16 5 19 18 22 21 10 24 23 2 1 15 4 3 7 6 20 9 8 12 11 25 ;25 4 8 2 11 5 9 13 7 16 10 14 18 12 21 15 19 23 17 1 20 24 3 22 6 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 24 17 16 27 8 7 30 23 22 33 14 13 36 29 28 3 20 19 6 35 34 9 26 25 12 5 4 15 32 31 18 11 10 21 2 ;20 13 6 11 34 15 26 19 12 17 4 21 32 25 18 23 10 27 2 31 24 29 16 33 8 1 30 35 22 3 14 7 36 5 28 9 ;33 14 19 30 23 22 3 20 25 36 29 28 9 26 31 6 35 34 15 32 1 12 5 4 21 2 7 18 11 10 27 8 13 24 17 16 ;4 9 32 31 36 29 10 15 2 1 6 35 16 21 8 7 12 5 22 27 14 13 18 11 28 33 20 19 24 17 34 3 26 25 30 23 ;35 28 21 2 7 12 5 34 27 8 13 18 11 4 33 14 19 24 17 10 3 20 25 30 23 16 9 26 31 36 29 22 15 32 1 6 ;18 5 10 3 26 25 24 11 16 9 32 31 30 17 22 15 2 1 36 23 28 21 8 7 6 29 34 27 14 13 12 35 4 33 20 19 ;7 30 23 22 33 14 13 36 29 28 3 20 19 6 35 34 9 26 25 12 5 4 15 32 31 18 11 10 21 2 1 24 17 16 27 8 ;26 19 12 17 4 21 32 25 18 23 10 27 2 31 24 29 16 33 8 1 30 35 22 3 14 7 36 5 28 9 20 13 6 11 34 15 ;3 20 25 36 29 28 9 26 31 6 35 34 15 32 1 12 5 4 21 2 7 18 11 10 27 8 13 24 17 16 33 14 19 30 23 22 ;10 15 2 1 6 35 16 21 8 7 12 5 22 27 14 13 18 11 28 33 20 19 24 17 34 3 26 25 30 23 4 9 32 31 36 29 ;5 34 27 8 13 18 11 4 33 14 19 24 17 10 3 20 25 30 23 16 9 26 31 36 29 22 15 32 1 6 35 28 21 2 7 12 ;24 11 16 9 32 31 30 17 22 15 2 1 36 23 28 21 8 7 6 29 34 27 14 13 12 35 4 33 20 19 18 5 10 3 26 25 ;13 36 29 28 3 20 19 6 35 34 9 26 25 12 5 4 15 32 31 18 11 10 21 2 1 24 17 16 27 8 7 30 23 22 33 14 ;32 25 18 23 10 27 2 31 24 29 16 33 8 1 30 35 22 3 14 7 36 5 28 9 20 13 6 11 34 15 26 19 12 17 4 21 ;9 26 31 6 35 34 15 32 1 12 5 4 21 2 7 18 11 10 27 8 13 24 17 16 33 14 19 30 23 22 3 20 25 36 29 28 ;16 21 8 7 12 5 22 27 14 13 18 11 28 33 20 19 24 17 34 3 26 25 30 23 4 9 32 31 36 29 10 15 2 1 6 35 ;11 4 33 14 19 24 17 10 3 20 25 30 23 16 9 26 31 36 29 22 15 32 1 6 35 28 21 2 7 12 5 34 27 8 13 18 ;30 17 22 15 2 1 36 23 28 21 8 7 6 29 34 27 14 13 12 35 4 33 20 19 18 5 10 3 26 25 24 11 16 9 32 31 ;19 6 35 34 9 26 25 12 5 4 15 32 31 18 11 10 21 2 1 24 17 16 27 8 7 30 23 22 33 14 13 36 29 28 3 20 ;2 31 24 29 16 33 8 1 30 35 22 3 14 7 36 5 28 9 20 13 6 11 34 15 26 19 12 17 4 21 32 25 18 23 10 27 ;15 32 1 12 5 4 21 2 7 18 11 10 27 8 13 24 17 16 33 14 19 30 23 22 3 20 25 36 29 28 9 26 31 6 35 34 ;22 27 14 13 18 11 28 33 20 19 24 17 34 3 26 25 30 23 4 9 32 31 36 29 10 15 2 1 6 35 16 21 8 7 12 5 ;17 10 3 20 25 30 23 16 9 26 31 36 29 22 15 32 1 6 35 28 21 2 7 12 5 34 27 8 13 18 11 4 33 14 19 24 ;36 23 28 21 8 7 6 29 34 27 14 13 12 35 4 33 20 19 18 5 10 3 26 25 24 11 16 9 32 31 30 17 22 15 2 1 ;25 12 5 4 15 32 31 18 11 10 21 2 1 24 17 16 27 8 7 30 23 22 33 14 13 36 29 28 3 20 19 6 35 34 9 26 ;8 1 30 35 22 3 14 7 36 5 28 9 20 13 6 11 34 15 26 19 12 17 4 21 32 25 18 23 10 27 2 31 24 29 16 33 ;21 2 7 18 11 10 27 8 13 24 17 16 33 14 19 30 23 22 3 20 25 36 29 28 9 26 31 6 35 34 15 32 1 12 5 4 ;28 33 20 19 24 17 34 3 26 25 30 23 4 9 32 31 36 29 10 15 2 1 6 35 16 21 8 7 12 5 22 27 14 13 18 11 ;23 16 9 26 31 36 29 22 15 32 1 6 35 28 21 2 7 12 5 34 27 8 13 18 11 4 33 14 19 24 17 10 3 20 25 30 ;6 29 34 27 14 13 12 35 4 33 20 19 18 5 10 3 26 25 24 11 16 9 32 31 30 17 22 15 2 1 36 23 28 21 8 7 ;31 18 11 10 21 2 1 24 17 16 27 8 7 30 23 22 33 14 13 36 29 28 3 20 19 6 35 34 9 26 25 12 5 4 15 32 ;14 7 36 5 28 9 20 13 6 11 34 15 26 19 12 17 4 21 32 25 18 23 10 27 2 31 24 29 16 33 8 1 30 35 22 3 ;27 8 13 24 17 16 33 14 19 30 23 22 3 20 25 36 29 28 9 26 31 6 35 34 15 32 1 12 5 4 21 2 7 18 11 10 ;34 3 26 25 30 23 4 9 32 31 36 29 10 15 2 1 6 35 16 21 8 7 12 5 22 27 14 13 18 11 28 33 20 19 24 17 ;29 22 15 32 1 6 35 28 21 2 7 12 5 34 27 8 13 18 11 4 33 14 19 24 17 10 3 20 25 30 23 16 9 26 31 36 ;12 35 4 33 20 19 18 5 10 3 26 25 24 11 16 9 32 31 30 17 22 15 2 1 36 23 28 21 8 7 6 29 34 27 14 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[4 3 8 7 6 2 1 9 5 ;2 1 9 5 4 3 8 7 6 ;6 5 7 9 8 1 3 2 4 ;7 6 2 1 9 5 4 3 8 ;5 4 3 8 7 6 2 1 9 ;9 8 1 3 2 4 6 5 7 ;1 9 5 4 3 8 7 6 2 ;8 7 6 2 1 9 5 4 3 ;3 2 4 6 5 7 9 8 1 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 9 8 4 3 2 7 6 5 ;2 7 6 5 1 9 8 4 3 ;3 5 4 6 8 7 9 2 1 ;4 3 2 7 6 5 1 9 8 ;5 1 9 8 4 3 2 7 6 ;6 8 7 9 2 1 3 5 4 ;7 6 5 1 9 8 4 3 2 ;8 4 3 2 7 6 5 1 9 ;9 2 1 3 5 4 6 8 7 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[11 10 24 3 22 16 15 4 8 2 21 20 9 13 7 1 25 14 18 12 6 5 19 23 17 ;7 16 25 14 13 12 21 5 19 18 17 1 10 24 23 22 6 15 4 3 2 11 20 9 8 ;23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 ;9 8 12 6 20 14 13 17 11 25 19 18 22 16 5 24 23 2 21 10 4 3 7 1 15 ;15 19 18 17 1 20 24 23 22 6 25 4 3 2 11 5 9 8 7 16 10 14 13 12 21 ;16 15 4 8 2 21 20 9 13 7 1 25 14 18 12 6 5 19 23 17 11 10 24 3 22 ;12 21 5 19 18 17 1 10 24 23 22 6 15 4 3 2 11 20 9 8 7 16 25 14 13 ;3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 ;14 13 17 11 25 19 18 22 16 5 24 23 2 21 10 4 3 7 1 15 9 8 12 6 20 ;20 24 23 22 6 25 4 3 2 11 5 9 8 7 16 10 14 13 12 21 15 19 18 17 1 ;21 20 9 13 7 1 25 14 18 12 6 5 19 23 17 11 10 24 3 22 16 15 4 8 2 ;17 1 10 24 23 22 6 15 4 3 2 11 20 9 8 7 16 25 14 13 12 21 5 19 18 ;8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 ;19 18 22 16 5 24 23 2 21 10 4 3 7 1 15 9 8 12 6 20 14 13 17 11 25 ;25 4 3 2 11 5 9 8 7 16 10 14 13 12 21 15 19 18 17 1 20 24 23 22 6 ;1 25 14 18 12 6 5 19 23 17 11 10 24 3 22 16 15 4 8 2 21 20 9 13 7 ;22 6 15 4 3 2 11 20 9 8 7 16 25 14 13 12 21 5 19 18 17 1 10 24 23 ;13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 ;24 23 2 21 10 4 3 7 1 15 9 8 12 6 20 14 13 17 11 25 19 18 22 16 5 ;5 9 8 7 16 10 14 13 12 21 15 19 18 17 1 20 24 23 22 6 25 4 3 2 11 ;6 5 19 23 17 11 10 24 3 22 16 15 4 8 2 21 20 9 13 7 1 25 14 18 12 ;2 11 20 9 8 7 16 25 14 13 12 21 5 19 18 17 1 10 24 23 22 6 15 4 3 ;18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 ;4 3 7 1 15 9 8 12 6 20 14 13 17 11 25 19 18 22 16 5 24 23 2 21 10 ;10 14 13 12 21 15 19 18 17 1 20 24 23 22 6 25 4 3 2 11 5 9 8 7 16 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 24 11 34 3 14 7 30 17 4 9 20 13 36 23 10 15 26 19 6 29 16 21 32 25 12 35 22 27 2 31 18 5 28 33 8 ;8 13 18 17 16 27 14 19 24 23 22 33 20 25 30 29 28 3 26 31 36 35 34 9 32 1 6 5 4 15 2 7 12 11 10 21 ;21 32 7 12 23 28 27 2 13 18 29 34 33 8 19 24 35 4 3 14 25 30 5 10 9 20 31 36 11 16 15 26 1 6 17 22 ;10 15 2 19 6 35 16 21 8 25 12 5 22 27 14 31 18 11 28 33 20 1 24 17 34 3 26 7 30 23 4 9 32 13 36 29 ;5 4 33 20 31 30 11 10 3 26 1 36 17 16 9 32 7 6 23 22 15 2 13 12 29 28 21 8 19 18 35 34 27 14 25 24 ;36 29 22 9 26 25 6 35 28 15 32 31 12 5 34 21 2 1 18 11 4 27 8 7 24 17 10 33 14 13 30 23 16 3 20 19 ;7 30 17 4 9 20 13 36 23 10 15 26 19 6 29 16 21 32 25 12 35 22 27 2 31 18 5 28 33 8 1 24 11 34 3 14 ;14 19 24 23 22 33 20 25 30 29 28 3 26 31 36 35 34 9 32 1 6 5 4 15 2 7 12 11 10 21 8 13 18 17 16 27 ;27 2 13 18 29 34 33 8 19 24 35 4 3 14 25 30 5 10 9 20 31 36 11 16 15 26 1 6 17 22 21 32 7 12 23 28 ;16 21 8 25 12 5 22 27 14 31 18 11 28 33 20 1 24 17 34 3 26 7 30 23 4 9 32 13 36 29 10 15 2 19 6 35 ;11 10 3 26 1 36 17 16 9 32 7 6 23 22 15 2 13 12 29 28 21 8 19 18 35 34 27 14 25 24 5 4 33 20 31 30 ;6 35 28 15 32 31 12 5 34 21 2 1 18 11 4 27 8 7 24 17 10 33 14 13 30 23 16 3 20 19 36 29 22 9 26 25 ;13 36 23 10 15 26 19 6 29 16 21 32 25 12 35 22 27 2 31 18 5 28 33 8 1 24 11 34 3 14 7 30 17 4 9 20 ;20 25 30 29 28 3 26 31 36 35 34 9 32 1 6 5 4 15 2 7 12 11 10 21 8 13 18 17 16 27 14 19 24 23 22 33 ;33 8 19 24 35 4 3 14 25 30 5 10 9 20 31 36 11 16 15 26 1 6 17 22 21 32 7 12 23 28 27 2 13 18 29 34 ;22 27 14 31 18 11 28 33 20 1 24 17 34 3 26 7 30 23 4 9 32 13 36 29 10 15 2 19 6 35 16 21 8 25 12 5 ;17 16 9 32 7 6 23 22 15 2 13 12 29 28 21 8 19 18 35 34 27 14 25 24 5 4 33 20 31 30 11 10 3 26 1 36 ;12 5 34 21 2 1 18 11 4 27 8 7 24 17 10 33 14 13 30 23 16 3 20 19 36 29 22 9 26 25 6 35 28 15 32 31 ;19 6 29 16 21 32 25 12 35 22 27 2 31 18 5 28 33 8 1 24 11 34 3 14 7 30 17 4 9 20 13 36 23 10 15 26 ;26 31 36 35 34 9 32 1 6 5 4 15 2 7 12 11 10 21 8 13 18 17 16 27 14 19 24 23 22 33 20 25 30 29 28 3 ;3 14 25 30 5 10 9 20 31 36 11 16 15 26 1 6 17 22 21 32 7 12 23 28 27 2 13 18 29 34 33 8 19 24 35 4 ;28 33 20 1 24 17 34 3 26 7 30 23 4 9 32 13 36 29 10 15 2 19 6 35 16 21 8 25 12 5 22 27 14 31 18 11 ;23 22 15 2 13 12 29 28 21 8 19 18 35 34 27 14 25 24 5 4 33 20 31 30 11 10 3 26 1 36 17 16 9 32 7 6 ;18 11 4 27 8 7 24 17 10 33 14 13 30 23 16 3 20 19 36 29 22 9 26 25 6 35 28 15 32 31 12 5 34 21 2 1 ;25 12 35 22 27 2 31 18 5 28 33 8 1 24 11 34 3 14 7 30 17 4 9 20 13 36 23 10 15 26 19 6 29 16 21 32 ;32 1 6 5 4 15 2 7 12 11 10 21 8 13 18 17 16 27 14 19 24 23 22 33 20 25 30 29 28 3 26 31 36 35 34 9 ;9 20 31 36 11 16 15 26 1 6 17 22 21 32 7 12 23 28 27 2 13 18 29 34 33 8 19 24 35 4 3 14 25 30 5 10 ;34 3 26 7 30 23 4 9 32 13 36 29 10 15 2 19 6 35 16 21 8 25 12 5 22 27 14 31 18 11 28 33 20 1 24 17 ;29 28 21 8 19 18 35 34 27 14 25 24 5 4 33 20 31 30 11 10 3 26 1 36 17 16 9 32 7 6 23 22 15 2 13 12 ;24 17 10 33 14 13 30 23 16 3 20 19 36 29 22 9 26 25 6 35 28 15 32 31 12 5 34 21 2 1 18 11 4 27 8 7 ;31 18 5 28 33 8 1 24 11 34 3 14 7 30 17 4 9 20 13 36 23 10 15 26 19 6 29 16 21 32 25 12 35 22 27 2 ;2 7 12 11 10 21 8 13 18 17 16 27 14 19 24 23 22 33 20 25 30 29 28 3 26 31 36 35 34 9 32 1 6 5 4 15 ;15 26 1 6 17 22 21 32 7 12 23 28 27 2 13 18 29 34 33 8 19 24 35 4 3 14 25 30 5 10 9 20 31 36 11 16 ;4 9 32 13 36 29 10 15 2 19 6 35 16 21 8 25 12 5 22 27 14 31 18 11 28 33 20 1 24 17 34 3 26 7 30 23 ;35 34 27 14 25 24 5 4 33 20 31 30 11 10 3 26 1 36 17 16 9 32 7 6 23 22 15 2 13 12 29 28 21 8 19 18 ;30 23 16 3 20 19 36 29 22 9 26 25 6 35 28 15 32 31 12 5 34 21 2 1 18 11 4 27 8 7 24 17 10 33 14 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[13 36 17 16 15 20 19 6 23 22 21 26 25 12 29 28 27 32 31 18 35 34 33 2 1 24 5 4 3 8 7 30 11 10 9 14 ;2 31 18 35 4 27 8 1 24 5 10 33 14 7 30 11 16 3 20 13 36 17 22 9 26 19 6 23 28 15 32 25 12 29 34 21 ;3 8 19 24 23 10 9 14 25 30 29 16 15 20 31 36 35 22 21 26 1 6 5 28 27 32 7 12 11 34 33 2 13 18 17 4 ;22 21 14 1 30 11 28 27 20 7 36 17 34 33 26 13 6 23 4 3 32 19 12 29 10 9 2 25 18 35 16 15 8 31 24 5 ;5 34 33 26 7 12 11 4 3 32 13 18 17 10 9 2 19 24 23 16 15 8 25 30 29 22 21 14 31 36 35 28 27 20 1 6 ;6 29 28 9 32 25 12 35 34 15 2 31 18 5 4 21 8 1 24 11 10 27 14 7 30 17 16 33 20 13 36 23 22 3 26 19 ;19 6 23 22 21 26 25 12 29 28 27 32 31 18 35 34 33 2 1 24 5 4 3 8 7 30 11 10 9 14 13 36 17 16 15 20 ;8 1 24 5 10 33 14 7 30 11 16 3 20 13 36 17 22 9 26 19 6 23 28 15 32 25 12 29 34 21 2 31 18 35 4 27 ;9 14 25 30 29 16 15 20 31 36 35 22 21 26 1 6 5 28 27 32 7 12 11 34 33 2 13 18 17 4 3 8 19 24 23 10 ;28 27 20 7 36 17 34 33 26 13 6 23 4 3 32 19 12 29 10 9 2 25 18 35 16 15 8 31 24 5 22 21 14 1 30 11 ;11 4 3 32 13 18 17 10 9 2 19 24 23 16 15 8 25 30 29 22 21 14 31 36 35 28 27 20 1 6 5 34 33 26 7 12 ;12 35 34 15 2 31 18 5 4 21 8 1 24 11 10 27 14 7 30 17 16 33 20 13 36 23 22 3 26 19 6 29 28 9 32 25 ;25 12 29 28 27 32 31 18 35 34 33 2 1 24 5 4 3 8 7 30 11 10 9 14 13 36 17 16 15 20 19 6 23 22 21 26 ;14 7 30 11 16 3 20 13 36 17 22 9 26 19 6 23 28 15 32 25 12 29 34 21 2 31 18 35 4 27 8 1 24 5 10 33 ;15 20 31 36 35 22 21 26 1 6 5 28 27 32 7 12 11 34 33 2 13 18 17 4 3 8 19 24 23 10 9 14 25 30 29 16 ;34 33 26 13 6 23 4 3 32 19 12 29 10 9 2 25 18 35 16 15 8 31 24 5 22 21 14 1 30 11 28 27 20 7 36 17 ;17 10 9 2 19 24 23 16 15 8 25 30 29 22 21 14 31 36 35 28 27 20 1 6 5 34 33 26 7 12 11 4 3 32 13 18 ;18 5 4 21 8 1 24 11 10 27 14 7 30 17 16 33 20 13 36 23 22 3 26 19 6 29 28 9 32 25 12 35 34 15 2 31 ;31 18 35 34 33 2 1 24 5 4 3 8 7 30 11 10 9 14 13 36 17 16 15 20 19 6 23 22 21 26 25 12 29 28 27 32 ;20 13 36 17 22 9 26 19 6 23 28 15 32 25 12 29 34 21 2 31 18 35 4 27 8 1 24 5 10 33 14 7 30 11 16 3 ;21 26 1 6 5 28 27 32 7 12 11 34 33 2 13 18 17 4 3 8 19 24 23 10 9 14 25 30 29 16 15 20 31 36 35 22 ;4 3 32 19 12 29 10 9 2 25 18 35 16 15 8 31 24 5 22 21 14 1 30 11 28 27 20 7 36 17 34 33 26 13 6 23 ;23 16 15 8 25 30 29 22 21 14 31 36 35 28 27 20 1 6 5 34 33 26 7 12 11 4 3 32 13 18 17 10 9 2 19 24 ;24 11 10 27 14 7 30 17 16 33 20 13 36 23 22 3 26 19 6 29 28 9 32 25 12 35 34 15 2 31 18 5 4 21 8 1 ;1 24 5 4 3 8 7 30 11 10 9 14 13 36 17 16 15 20 19 6 23 22 21 26 25 12 29 28 27 32 31 18 35 34 33 2 ;26 19 6 23 28 15 32 25 12 29 34 21 2 31 18 35 4 27 8 1 24 5 10 33 14 7 30 11 16 3 20 13 36 17 22 9 ;27 32 7 12 11 34 33 2 13 18 17 4 3 8 19 24 23 10 9 14 25 30 29 16 15 20 31 36 35 22 21 26 1 6 5 28 ;10 9 2 25 18 35 16 15 8 31 24 5 22 21 14 1 30 11 28 27 20 7 36 17 34 33 26 13 6 23 4 3 32 19 12 29 ;29 22 21 14 31 36 35 28 27 20 1 6 5 34 33 26 7 12 11 4 3 32 13 18 17 10 9 2 19 24 23 16 15 8 25 30 ;30 17 16 33 20 13 36 23 22 3 26 19 6 29 28 9 32 25 12 35 34 15 2 31 18 5 4 21 8 1 24 11 10 27 14 7 ;7 30 11 10 9 14 13 36 17 16 15 20 19 6 23 22 21 26 25 12 29 28 27 32 31 18 35 34 33 2 1 24 5 4 3 8 ;32 25 12 29 34 21 2 31 18 35 4 27 8 1 24 5 10 33 14 7 30 11 16 3 20 13 36 17 22 9 26 19 6 23 28 15 ;33 2 13 18 17 4 3 8 19 24 23 10 9 14 25 30 29 16 15 20 31 36 35 22 21 26 1 6 5 28 27 32 7 12 11 34 ;16 15 8 31 24 5 22 21 14 1 30 11 28 27 20 7 36 17 34 33 26 13 6 23 4 3 32 19 12 29 10 9 2 25 18 35 ;35 28 27 20 1 6 5 34 33 26 7 12 11 4 3 32 13 18 17 10 9 2 19 24 23 16 15 8 25 30 29 22 21 14 31 36 ;36 23 22 3 26 19 6 29 28 9 32 25 12 35 34 15 2 31 18 5 4 21 8 1 24 11 10 27 14 7 30 17 16 33 20 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[429 428 430 432 431 433 426 434 427 ;427 426 434 430 429 428 433 432 431 ;431 433 432 434 427 426 428 430 429 ;432 431 433 426 434 427 429 428 430 ;430 429 428 433 432 431 427 426 434 ;434 427 426 428 430 429 431 433 432 ;426 434 427 429 428 430 432 431 433 ;433 432 431 427 426 434 430 429 428 ;428 430 429 431 433 432 434 427 426 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[7 36 35 10 9 32 13 6 5 16 15 2 19 12 11 22 21 8 25 18 17 28 27 14 31 24 23 34 33 20 1 30 29 4 3 26 ;20 13 30 11 4 3 26 19 36 17 10 9 32 25 6 23 16 15 2 31 12 29 22 21 8 1 18 35 28 27 14 7 24 5 34 33 ;15 26 1 24 5 22 21 32 7 30 11 28 27 2 13 36 17 34 33 8 19 6 23 4 3 14 25 12 29 10 9 20 31 18 35 16 ;34 21 14 19 12 17 4 27 20 25 18 23 10 33 26 31 24 29 16 3 32 1 30 35 22 9 2 7 36 5 28 15 8 13 6 11 ;29 28 27 8 25 18 35 34 33 14 31 24 5 4 3 20 1 30 11 10 9 26 7 36 17 16 15 32 13 6 23 22 21 2 19 12 ;6 23 16 33 2 31 12 29 22 3 8 1 18 35 28 9 14 7 24 5 34 15 20 13 30 11 4 21 26 19 36 17 10 27 32 25 ;13 6 5 16 15 2 19 12 11 22 21 8 25 18 17 28 27 14 31 24 23 34 33 20 1 30 29 4 3 26 7 36 35 10 9 32 ;26 19 36 17 10 9 32 25 6 23 16 15 2 31 12 29 22 21 8 1 18 35 28 27 14 7 24 5 34 33 20 13 30 11 4 3 ;21 32 7 30 11 28 27 2 13 36 17 34 33 8 19 6 23 4 3 14 25 12 29 10 9 20 31 18 35 16 15 26 1 24 5 22 ;4 27 20 25 18 23 10 33 26 31 24 29 16 3 32 1 30 35 22 9 2 7 36 5 28 15 8 13 6 11 34 21 14 19 12 17 ;35 34 33 14 31 24 5 4 3 20 1 30 11 10 9 26 7 36 17 16 15 32 13 6 23 22 21 2 19 12 29 28 27 8 25 18 ;12 29 22 3 8 1 18 35 28 9 14 7 24 5 34 15 20 13 30 11 4 21 26 19 36 17 10 27 32 25 6 23 16 33 2 31 ;19 12 11 22 21 8 25 18 17 28 27 14 31 24 23 34 33 20 1 30 29 4 3 26 7 36 35 10 9 32 13 6 5 16 15 2 ;32 25 6 23 16 15 2 31 12 29 22 21 8 1 18 35 28 27 14 7 24 5 34 33 20 13 30 11 4 3 26 19 36 17 10 9 ;27 2 13 36 17 34 33 8 19 6 23 4 3 14 25 12 29 10 9 20 31 18 35 16 15 26 1 24 5 22 21 32 7 30 11 28 ;10 33 26 31 24 29 16 3 32 1 30 35 22 9 2 7 36 5 28 15 8 13 6 11 34 21 14 19 12 17 4 27 20 25 18 23 ;5 4 3 20 1 30 11 10 9 26 7 36 17 16 15 32 13 6 23 22 21 2 19 12 29 28 27 8 25 18 35 34 33 14 31 24 ;18 35 28 9 14 7 24 5 34 15 20 13 30 11 4 21 26 19 36 17 10 27 32 25 6 23 16 33 2 31 12 29 22 3 8 1 ;25 18 17 28 27 14 31 24 23 34 33 20 1 30 29 4 3 26 7 36 35 10 9 32 13 6 5 16 15 2 19 12 11 22 21 8 ;2 31 12 29 22 21 8 1 18 35 28 27 14 7 24 5 34 33 20 13 30 11 4 3 26 19 36 17 10 9 32 25 6 23 16 15 ;33 8 19 6 23 4 3 14 25 12 29 10 9 20 31 18 35 16 15 26 1 24 5 22 21 32 7 30 11 28 27 2 13 36 17 34 ;16 3 32 1 30 35 22 9 2 7 36 5 28 15 8 13 6 11 34 21 14 19 12 17 4 27 20 25 18 23 10 33 26 31 24 29 ;11 10 9 26 7 36 17 16 15 32 13 6 23 22 21 2 19 12 29 28 27 8 25 18 35 34 33 14 31 24 5 4 3 20 1 30 ;24 5 34 15 20 13 30 11 4 21 26 19 36 17 10 27 32 25 6 23 16 33 2 31 12 29 22 3 8 1 18 35 28 9 14 7 ;31 24 23 34 33 20 1 30 29 4 3 26 7 36 35 10 9 32 13 6 5 16 15 2 19 12 11 22 21 8 25 18 17 28 27 14 ;8 1 18 35 28 27 14 7 24 5 34 33 20 13 30 11 4 3 26 19 36 17 10 9 32 25 6 23 16 15 2 31 12 29 22 21 ;3 14 25 12 29 10 9 20 31 18 35 16 15 26 1 24 5 23 21 32 7 30 11 28 27 2 13 36 17 34 33 8 19 6 23 4 ;22 9 2 7 36 5 28 15 8 13 6 11 34 21 14 19 12 17 4 27 20 25 18 23 10 33 26 31 24 29 16 3 32 1 30 35 ;17 16 15 32 13 6 23 22 21 2 19 12 29 28 27 8 25 18 35 34 33 14 31 24 5 4 3 20 1 30 11 10 9 26 7 36 ;30 11 4 21 26 19 36 17 10 27 32 25 6 23 16 33 2 31 12 29 22 3 8 1 18 35 28 9 14 7 24 5 34 15 20 13 ;1 30 29 4 3 26 7 36 35 10 9 32 13 6 5 16 15 2 19 12 11 22 21 8 25 18 17 28 27 14 31 24 23 34 33 20 ;14 7 24 5 34 33 20 13 30 11 4 3 26 19 36 17 10 9 32 25 6 23 16 15 2 31 12 29 22 21 8 1 18 35 28 27 ;9 20 31 18 35 16 15 26 1 24 5 22 21 32 7 30 11 28 27 2 13 36 17 34 33 8 19 6 23 4 3 14 25 12 29 10 ;28 15 8 13 6 11 34 21 14 19 12 17 4 27 20 25 18 23 10 33 26 31 24 29 16 3 32 1 30 35 22 9 2 7 36 5 ;23 22 21 2 19 12 29 28 27 8 25 18 35 34 33 14 31 24 5 4 3 20 1 30 11 10 9 26 7 36 17 16 15 32 13 6 ;36 17 10 27 32 25 6 23 16 33 2 31 12 29 22 3 8 1 18 35 28 9 14 7 24 5 34 15 20 13 30 11 4 21 26 19 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[21 10 24 3 2 1 15 4 8 7 6 20 9 13 12 11 25 14 18 17 16 5 19 23 22 ;22 16 15 19 8 2 21 20 24 13 7 1 25 4 18 12 6 5 9 23 17 11 10 14 3 ;18 12 11 20 4 23 17 16 25 9 3 22 21 5 14 8 2 1 10 19 13 7 6 15 24 ;14 23 17 6 5 19 3 22 11 10 24 8 2 16 15 4 13 7 21 20 9 18 12 1 25 ;25 9 13 7 1 5 14 18 12 6 10 19 23 17 11 15 24 3 22 16 20 4 8 2 21 ;1 15 4 8 7 6 20 9 13 12 11 25 14 18 17 16 5 19 23 22 21 10 24 3 2 ;2 21 20 24 13 7 1 25 4 18 12 6 5 9 23 17 11 10 14 3 22 16 15 19 8 ;23 17 16 25 9 3 22 21 5 14 8 2 1 10 19 13 7 6 15 24 18 12 11 20 4 ;19 3 22 11 10 24 8 2 16 15 4 13 7 21 20 9 18 12 1 25 14 23 17 6 5 ;5 14 18 12 6 10 19 23 17 11 15 24 3 22 16 20 4 8 2 21 25 9 13 7 1 ;6 20 9 13 12 11 25 14 18 17 16 5 19 23 22 21 10 24 3 2 1 15 4 8 7 ;7 1 25 4 18 12 6 5 9 23 17 11 10 14 3 22 16 15 19 8 2 21 20 24 13 ;3 22 21 5 14 8 2 1 10 19 13 7 6 15 24 18 12 11 20 4 23 17 16 25 9 ;24 8 2 16 15 4 13 7 21 20 9 18 12 1 25 14 23 17 6 5 19 3 22 11 10 ;10 19 23 17 11 15 24 3 22 16 20 4 8 2 21 25 9 13 7 1 5 14 18 12 6 ;11 25 14 18 17 16 5 19 23 22 21 10 24 3 2 1 15 4 8 7 6 20 9 13 12 ;12 6 5 9 23 17 11 10 14 3 22 16 15 19 8 2 21 20 24 13 7 1 25 4 18 ;8 2 1 10 19 13 7 6 15 24 18 12 11 20 4 23 17 16 25 9 3 22 21 5 14 ;4 13 7 21 20 9 18 12 1 25 14 23 17 6 5 19 3 22 11 10 24 8 2 16 15 ;15 24 3 22 16 20 4 8 2 21 25 9 13 7 1 5 14 18 12 6 10 19 23 17 11 ;16 5 19 23 22 21 10 24 3 2 1 15 4 8 7 6 20 9 13 12 11 25 14 18 17 ;17 11 10 14 3 22 16 15 19 8 2 21 20 24 13 7 1 25 4 18 12 6 5 9 23 ;13 7 6 15 24 18 12 11 20 4 23 17 16 25 9 3 22 21 5 14 8 2 1 10 19 ;9 18 12 1 25 14 23 17 6 5 19 3 22 11 10 24 8 2 16 15 4 13 7 21 20 ;20 4 8 2 21 25 9 13 7 1 5 14 18 12 6 10 19 23 17 11 15 24 3 22 16 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[19 6 23 10 21 8 25 12 29 16 27 14 31 18 35 22 33 20 1 24 5 28 3 26 7 30 11 34 9 32 13 36 17 4 15 2 ;14 25 30 35 28 15 20 31 36 5 34 21 26 1 6 11 4 27 32 7 12 17 10 33 2 13 18 23 16 3 8 19 24 29 22 9 ;3 26 13 12 11 34 9 32 19 18 17 4 15 2 25 24 23 10 21 8 31 30 29 16 27 14 1 36 35 22 33 20 7 6 5 28 ;16 33 32 7 24 17 22 3 2 13 30 23 28 9 8 19 36 29 34 15 14 25 6 35 4 21 20 31 12 5 10 27 26 1 18 11 ;29 4 27 20 31 18 35 10 33 26 1 24 5 16 3 32 7 30 11 22 9 2 13 36 17 28 15 8 19 6 23 34 21 14 25 12 ;36 5 22 9 2 1 6 11 28 15 8 7 12 17 34 21 14 13 18 23 4 27 20 19 24 29 10 33 26 25 30 35 16 3 32 31 ;25 12 29 16 27 14 31 18 35 22 33 20 1 24 5 28 3 26 7 30 11 34 9 32 13 36 17 4 15 2 19 6 23 10 21 8 ;20 31 36 5 34 21 26 1 6 11 4 27 32 7 12 17 10 33 2 13 18 23 16 3 8 19 24 29 22 9 14 25 30 35 28 15 ;9 32 19 18 17 4 15 2 25 24 23 10 21 8 31 30 29 16 27 14 1 36 35 22 33 20 7 6 5 28 3 26 13 12 11 34 ;22 3 2 13 30 23 28 9 8 19 36 29 34 15 14 25 6 35 4 21 20 31 12 5 10 27 26 1 18 11 16 33 32 7 24 17 ;35 10 33 26 1 24 5 16 3 32 7 30 11 22 9 2 13 36 17 28 15 8 19 6 23 34 21 14 25 12 29 4 27 20 31 18 ;6 11 28 15 8 7 12 17 34 21 14 13 18 23 4 27 20 19 24 29 10 33 26 25 30 35 16 3 32 31 36 5 22 9 2 1 ;31 18 35 22 33 20 1 24 5 28 3 26 7 30 11 34 9 32 13 36 17 4 15 2 19 6 23 10 21 8 25 12 29 16 27 14 ;26 1 6 11 4 27 32 7 12 17 10 33 2 13 18 23 16 3 8 19 24 29 22 9 14 25 30 35 28 15 20 31 36 5 34 21 ;15 2 25 24 23 10 21 8 31 30 29 16 27 14 1 36 35 22 33 20 7 6 5 28 3 26 13 12 11 34 9 32 19 18 17 4 ;28 9 8 19 36 29 34 15 14 25 6 35 4 21 20 31 12 5 10 27 26 1 18 11 16 33 32 7 24 17 22 3 2 13 30 23 ;5 16 3 32 7 30 11 22 9 2 13 36 17 28 15 8 19 6 23 34 21 14 25 12 29 4 27 20 31 18 35 10 33 26 1 24 ;12 17 34 21 14 13 18 23 4 27 20 19 24 29 10 33 26 25 30 35 16 3 32 31 36 5 22 9 2 1 6 11 28 15 8 7 ;1 24 5 28 3 26 7 30 11 34 9 32 13 36 17 4 15 2 19 6 23 10 21 8 25 12 29 16 27 14 31 18 35 22 33 20 ;32 7 12 17 10 33 2 13 18 23 16 3 8 19 24 29 22 9 14 25 30 35 28 15 20 31 36 5 34 21 26 1 6 11 4 27 ;21 8 31 30 29 16 27 14 1 36 35 22 33 20 7 6 5 28 3 26 13 12 11 34 9 32 19 18 17 4 15 2 25 24 23 10 ;34 15 14 25 6 35 4 21 20 31 12 5 10 27 26 1 18 11 16 33 32 7 24 17 22 3 2 13 30 23 28 9 8 19 36 29 ;11 22 9 2 13 36 17 28 15 8 19 6 23 34 21 14 25 12 29 4 27 20 31 18 35 10 33 26 1 24 5 16 3 32 7 30 ;18 23 4 27 20 19 24 29 10 33 26 25 30 35 16 3 32 31 36 5 22 9 2 1 6 11 28 15 8 7 12 17 34 21 14 13 ;7 30 11 34 9 32 13 36 17 4 15 2 19 6 23 10 21 8 25 12 29 16 27 14 31 18 35 22 33 20 1 24 5 28 3 26 ;2 13 18 23 16 3 8 19 24 29 22 9 14 25 30 35 28 15 20 31 36 5 34 21 26 1 6 11 4 27 32 7 12 17 10 33 ;27 14 1 36 35 22 33 20 7 6 5 28 3 26 13 12 11 34 9 32 19 18 17 4 15 2 25 24 23 10 21 8 31 30 29 16 ;4 21 20 31 12 5 10 27 26 1 18 11 16 33 32 7 24 17 22 3 2 13 30 23 28 9 8 19 36 29 34 15 14 25 6 35 ;17 28 15 8 19 6 23 34 21 14 25 12 29 4 27 20 31 18 35 10 33 26 1 24 5 16 3 32 7 30 11 22 9 2 13 36 ;24 29 10 33 26 25 30 35 16 3 32 31 36 5 22 9 2 1 6 11 28 15 8 7 12 17 34 21 14 13 18 23 4 27 20 19 ;13 36 17 4 15 2 19 6 23 10 21 8 25 12 29 16 27 14 31 18 35 22 33 20 1 24 5 28 3 26 7 30 11 34 9 32 ;8 19 24 29 22 9 14 25 30 35 28 15 20 31 36 5 34 21 26 1 6 11 4 27 32 7 12 17 10 33 2 13 18 23 16 3 ;33 20 7 6 5 28 3 26 13 12 11 34 9 32 19 18 17 4 15 2 25 24 23 10 21 8 31 30 29 16 27 14 1 36 35 22 ;10 27 26 1 18 11 16 33 32 7 24 17 22 3 2 13 30 23 28 9 8 19 36 29 34 15 14 25 6 35 4 21 20 31 12 5 ;23 34 21 14 25 12 29 4 27 20 31 18 35 10 33 26 1 24 5 16 3 32 7 30 11 22 9 2 13 36 17 28 15 8 19 6 ;30 35 16 3 32 31 36 5 22 9 2 1 6 11 28 15 8 7 12 17 34 21 14 13 18 23 4 27 20 19 24 29 10 33 26 25 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[7 6 8 1 9 2 4 3 5 ;2 1 3 5 4 6 8 7 9 ;9 5 4 3 8 7 6 2 1 ;1 9 2 4 3 5 7 6 8 ;5 4 6 8 7 9 2 1 3 ;3 8 7 6 2 1 9 5 4 ;4 3 5 7 6 8 1 9 2 ;8 7 9 2 1 3 5 4 6 ;6 2 1 9 5 4 3 8 7 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 18 5 28 3 14 7 24 11 34 9 20 13 30 17 4 15 26 19 36 23 10 21 32 25 6 29 16 27 2 31 12 35 22 33 8 ;8 25 6 29 4 33 14 31 12 35 10 3 20 1 18 5 16 9 26 7 24 11 22 15 32 13 30 17 28 21 2 19 36 23 34 27 ;21 32 19 24 17 22 27 2 25 30 23 28 33 8 31 36 29 34 3 14 1 6 35 4 9 20 7 12 5 10 15 26 13 18 11 16 ;34 15 26 31 12 11 4 21 32 1 18 17 10 27 2 7 24 23 16 33 8 13 30 29 22 3 14 19 36 35 28 9 20 25 6 5 ;23 16 27 2 13 30 29 22 33 8 19 36 35 28 3 14 25 6 5 34 9 20 31 12 11 4 15 26 1 18 17 10 21 32 7 24 ;36 35 10 9 20 7 6 5 16 15 26 13 12 11 22 21 32 19 18 17 28 27 2 25 24 23 34 33 8 31 30 29 4 3 14 1 ;7 24 11 34 9 20 13 30 17 4 15 26 19 36 23 10 21 32 25 6 29 16 27 2 31 12 35 22 33 8 1 18 5 28 3 14 ;14 31 12 35 10 3 20 1 18 5 16 9 26 7 24 11 22 15 32 13 30 17 28 21 2 19 36 23 34 27 8 25 6 29 4 33 ;27 2 25 30 23 28 33 8 31 36 29 34 3 14 1 6 35 4 9 20 7 12 5 10 15 26 13 18 11 16 21 32 19 24 17 22 ;4 21 32 1 18 17 10 27 2 7 24 23 16 33 8 13 30 29 22 3 14 19 36 35 28 9 20 25 6 5 34 15 26 31 12 11 ;29 22 33 8 19 36 35 28 3 14 25 6 5 34 9 20 31 12 11 4 15 26 1 18 17 10 21 32 7 24 23 16 27 2 13 30 ;6 5 16 15 26 13 12 11 22 21 32 19 18 17 28 27 2 25 24 23 34 33 8 31 30 29 4 3 14 1 36 35 10 9 20 7 ;13 30 17 4 15 26 19 36 23 10 21 32 25 6 29 16 27 2 31 12 35 22 33 8 1 18 5 28 3 14 7 24 11 34 9 20 ;20 1 18 5 16 9 26 7 24 11 22 15 32 13 30 17 28 21 2 19 36 23 34 27 8 25 6 29 4 33 14 31 12 35 10 3 ;33 8 31 36 29 34 3 14 1 6 35 4 9 20 7 12 5 10 15 26 13 18 11 16 21 32 19 24 17 22 27 2 25 30 23 28 ;10 27 2 7 24 23 16 33 8 13 30 29 22 3 14 19 36 35 28 9 20 25 6 5 34 15 26 31 12 11 4 21 32 1 18 17 ;35 28 3 14 25 6 5 34 9 20 31 12 11 4 15 26 1 18 17 10 21 32 7 24 23 16 27 2 13 30 29 22 33 8 19 36 ;12 11 22 21 32 19 18 17 28 27 2 25 24 23 34 33 8 31 30 29 4 3 14 1 36 35 10 9 20 7 6 5 16 15 26 13 ;19 36 23 10 21 32 25 6 29 16 27 2 31 12 35 22 33 8 1 18 5 28 3 14 7 24 11 34 9 20 13 30 17 4 15 26 ;26 7 24 11 22 15 32 13 30 17 28 21 2 19 36 23 34 27 8 25 6 29 4 33 14 31 12 35 10 3 20 1 18 5 16 9 ;3 14 1 6 35 4 9 20 7 12 5 10 15 26 13 18 11 16 21 32 19 24 17 22 27 2 25 30 23 28 33 8 31 36 29 34 ;16 33 8 13 30 29 22 3 14 19 36 35 28 9 20 25 6 5 34 15 26 31 12 11 4 21 32 1 18 17 10 27 2 7 24 23 ;5 34 9 20 31 12 11 4 15 26 1 18 17 10 21 32 7 24 23 16 27 2 13 30 29 22 33 8 19 36 35 28 3 14 25 6 ;18 17 28 27 2 25 24 23 34 33 8 31 30 29 4 3 14 1 36 35 10 9 20 7 6 5 16 15 26 13 12 11 22 21 32 19 ;25 6 29 16 27 2 31 12 35 22 33 8 1 18 5 28 3 14 7 24 11 34 9 20 13 30 17 4 15 26 19 36 23 10 21 32 ;32 13 30 17 28 21 2 19 36 23 34 27 8 25 6 29 4 33 14 31 12 35 10 3 20 1 18 5 16 9 26 7 24 11 22 15 ;9 20 7 12 5 10 15 26 13 18 11 16 21 32 19 24 17 22 27 2 25 30 23 28 33 8 31 36 29 34 3 14 1 6 35 4 ;22 3 14 19 36 35 28 9 20 25 6 5 34 15 26 31 12 11 4 21 32 1 18 17 10 27 2 7 24 23 16 33 8 13 30 29 ;11 4 15 26 1 18 17 10 21 32 7 24 23 16 27 2 13 30 29 22 33 8 19 36 35 28 3 14 25 6 5 34 9 20 31 12 ;24 23 34 33 8 31 30 29 4 3 14 1 36 35 10 9 20 7 6 5 16 15 26 13 12 11 22 21 32 19 18 17 28 27 2 25 ;31 12 35 22 33 8 1 18 5 28 3 14 7 24 11 34 9 20 13 30 17 4 15 26 19 36 23 10 21 32 25 6 29 16 27 2 ;2 19 36 23 34 27 8 25 6 29 4 33 14 31 12 35 10 3 20 1 18 5 16 9 26 7 24 11 22 15 32 13 30 17 28 21 ;15 26 13 18 11 16 21 32 19 24 17 22 27 2 25 30 23 28 33 8 31 36 29 34 3 14 1 6 35 4 9 20 7 12 5 10 ;28 9 20 25 6 5 34 15 26 31 12 11 4 21 32 1 18 17 10 27 2 7 24 23 16 33 8 13 30 29 22 3 14 19 36 35 ;17 10 21 32 7 24 23 16 27 2 13 30 29 22 33 8 19 36 35 28 3 14 25 6 5 34 9 20 31 12 11 4 15 26 1 18 ;30 29 4 3 14 1 36 35 10 9 20 7 6 5 16 15 26 13 12 11 22 21 32 19 18 17 28 27 2 25 24 23 34 33 8 31 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[9 16 3 10 13 4 7 14 1 8 11 2 5 12 15 6 ;2 13 4 15 6 1 8 3 10 5 12 7 14 9 16 11 ;7 6 1 12 11 10 5 16 15 14 9 4 3 2 13 8 ;8 11 14 5 12 15 2 9 16 3 6 13 4 7 10 1 ;13 4 7 14 1 8 11 2 5 12 15 6 9 16 3 10 ;6 1 8 3 10 5 12 7 14 9 16 11 2 13 4 15 ;11 10 5 16 15 14 9 4 3 2 13 8 7 6 1 12 ;12 15 2 9 16 3 6 13 4 7 10 1 8 11 14 5 ;1 8 11 2 5 12 15 6 9 16 3 10 13 4 7 14 ;10 5 12 7 14 9 16 11 2 13 4 15 6 1 8 3 ;15 14 9 4 3 2 13 8 7 6 1 12 11 10 5 16 ;16 3 6 13 4 7 10 1 8 11 14 5 12 15 2 9 ;5 12 15 6 9 16 3 10 13 4 7 14 1 8 11 2 ;14 9 16 11 2 13 4 15 6 1 8 3 10 5 12 7 ;3 2 13 8 7 6 1 12 11 10 5 16 15 14 9 4 ;4 7 10 1 8 11 14 5 12 15 2 9 16 3 6 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 20 9 13 12 6 25 14 18 17 11 5 19 23 22 16 10 24 3 2 21 15 4 8 7 ;22 11 5 14 8 2 16 10 19 13 7 21 15 24 18 12 1 20 4 23 17 6 25 9 3 ;3 2 21 25 19 8 7 1 5 24 13 12 6 10 4 18 17 11 15 9 23 22 16 20 14 ;4 23 17 16 15 9 3 22 21 20 14 8 2 1 25 19 13 7 6 5 24 18 12 11 10 ;10 24 18 7 6 15 4 23 12 11 20 9 3 17 16 25 14 8 22 21 5 19 13 2 1 ;6 25 14 18 17 11 5 19 23 22 16 10 24 3 2 21 15 4 8 7 1 20 9 13 12 ;2 16 10 19 13 7 21 15 24 18 12 1 20 4 23 17 6 25 9 3 22 11 5 14 8 ;8 7 1 5 24 13 12 6 10 4 18 17 11 15 9 23 22 16 20 14 3 2 21 25 19 ;9 3 22 21 20 14 8 2 1 25 19 13 7 6 5 24 18 12 11 10 4 23 17 16 15 ;15 4 23 12 11 20 9 3 17 16 25 14 8 22 21 5 19 13 2 1 10 24 18 7 6 ;11 5 19 23 22 16 10 24 3 2 21 15 4 8 7 1 20 9 13 12 6 25 14 18 17 ;7 21 15 24 18 12 1 20 4 23 17 6 25 9 3 22 11 5 14 8 2 16 10 19 13 ;13 12 6 10 4 18 17 11 15 9 23 22 16 20 14 3 2 21 25 19 8 7 1 5 24 ;14 8 2 1 25 19 13 7 6 5 24 18 12 11 10 4 23 17 16 15 9 3 22 21 20 ;20 9 3 17 16 25 14 8 22 21 5 19 13 2 1 10 24 18 7 6 15 4 23 12 11 ;16 10 24 3 2 21 15 4 8 7 1 20 9 13 12 6 25 14 18 17 11 5 19 23 22 ;12 1 20 4 23 17 6 25 9 3 22 11 5 14 8 2 16 10 19 13 7 21 15 24 18 ;18 17 11 15 9 23 22 16 20 14 3 2 21 25 19 8 7 1 5 24 13 12 6 10 4 ;19 13 7 6 5 24 18 12 11 10 4 23 17 16 15 9 3 22 21 20 14 8 2 1 25 ;25 14 8 22 21 5 19 13 2 1 10 24 18 7 6 15 4 23 12 11 20 9 3 17 16 ;21 15 4 8 7 1 20 9 13 12 6 25 14 18 17 11 5 19 23 22 16 10 24 3 2 ;17 6 25 9 3 22 11 5 14 8 2 16 10 19 13 7 21 15 24 18 12 1 20 4 23 ;23 22 16 20 14 3 2 21 25 19 8 7 1 5 24 13 12 6 10 4 18 17 11 15 9 ;24 18 12 11 10 4 23 17 16 15 9 3 22 21 20 14 8 2 1 25 19 13 7 6 5 ;5 19 13 2 1 10 24 18 7 6 15 4 23 12 11 20 9 3 17 16 25 14 8 22 21 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[13 8 15 6 1 12 3 10 5 16 7 14 9 4 11 2 ;14 5 4 3 2 9 8 7 6 13 12 11 10 1 16 15 ;7 2 9 12 11 6 13 16 15 10 1 4 3 14 5 8 ;16 11 10 1 4 15 14 5 8 3 2 9 12 7 6 13 ;1 12 3 10 5 16 7 14 9 4 11 2 13 8 15 6 ;2 9 8 7 6 13 12 11 10 1 16 15 14 5 4 3 ;11 6 13 16 15 10 1 4 3 14 5 8 7 2 9 12 ;4 15 14 5 8 3 2 9 12 7 6 13 16 11 10 1 ;5 16 7 14 9 4 11 2 13 8 15 6 1 12 3 10 ;6 13 12 11 10 1 16 15 14 5 4 3 2 9 8 7 ;15 10 1 4 3 14 5 8 7 2 10 12 11 6 13 16 ;8 3 2 9 12 7 6 13 16 11 10 1 4 15 14 5 ;9 4 11 2 13 8 15 6 1 12 3 10 5 16 7 14 ;10 1 16 15 14 5 4 3 2 9 8 7 6 13 12 11 ;3 14 5 8 7 2 9 12 11 6 13 16 15 10 1 4 ;12 7 6 13 16 11 10 1 4 15 14 5 8 3 2 9 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[21 25 24 13 17 1 5 4 18 22 6 10 9 23 2 11 15 14 3 7 16 20 19 8 12 ;7 16 10 14 23 12 21 15 19 3 17 1 20 24 8 22 6 25 4 13 2 11 5 9 18 ;8 12 6 15 9 13 17 11 20 14 18 22 16 25 19 23 2 21 5 24 3 7 1 10 4 ;19 3 22 1 5 24 8 2 6 10 4 13 7 11 15 9 18 12 16 20 14 23 17 21 25 ;20 4 18 2 11 25 9 23 7 16 5 14 3 12 21 10 19 8 17 1 15 24 13 22 6 ;1 5 4 18 22 6 10 9 23 2 11 15 14 3 7 16 20 19 8 12 21 25 24 13 17 ;12 21 15 19 3 17 1 20 24 8 22 6 25 4 13 2 11 5 9 18 7 16 10 14 23 ;13 17 11 20 14 18 22 16 25 19 23 2 21 5 24 3 7 1 10 4 8 12 6 15 9 ;24 8 2 6 10 4 13 7 11 15 9 18 12 16 20 14 23 17 21 25 19 3 22 1 5 ;25 9 23 7 16 5 14 3 12 21 10 19 8 17 1 15 24 13 22 6 20 4 18 2 11 ;6 10 9 23 2 11 15 14 3 7 16 20 19 8 12 21 25 24 13 17 1 5 4 18 22 ;17 1 20 24 8 22 6 25 4 13 2 11 5 9 18 7 16 10 14 23 12 21 15 19 3 ;18 22 16 25 19 23 2 21 5 24 3 7 1 10 4 8 12 6 15 9 13 17 11 20 14 ;4 13 7 11 15 9 18 12 16 20 14 23 17 21 25 19 3 22 1 5 24 8 2 6 10 ;5 14 3 12 21 10 19 8 17 1 15 24 13 22 6 20 4 18 2 11 25 9 23 7 16 ;11 15 14 3 7 16 20 19 8 12 21 25 24 13 17 1 5 4 18 22 6 10 9 23 2 ;22 6 25 4 13 2 11 5 9 18 7 16 10 14 23 12 21 15 19 3 17 1 20 24 8 ;23 2 21 5 24 3 7 1 10 4 8 12 6 15 9 13 17 11 20 14 18 22 16 25 19 ;9 18 12 16 20 14 23 17 21 25 19 3 22 1 5 24 8 2 6 10 4 13 7 11 15 ;10 19 8 17 1 15 24 13 22 6 20 4 18 2 11 25 9 23 7 16 5 14 3 12 21 ;16 20 19 8 12 21 25 24 13 17 1 5 4 18 22 6 10 9 23 2 11 15 14 3 7 ;2 11 5 9 18 7 16 10 14 23 12 21 15 19 3 17 1 20 24 8 22 6 25 4 13 ;3 7 1 10 4 8 12 6 15 9 13 17 11 20 14 18 22 16 25 19 23 2 21 5 24 ;14 23 17 21 25 19 3 22 1 5 24 8 2 6 10 4 13 7 11 15 9 18 12 16 20 ;15 24 13 22 6 20 4 18 2 11 25 9 23 7 16 5 14 3 12 21 10 19 8 17 1 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[9 8 7 6 13 12 11 10 1 16 15 14 5 4 3 2 ;14 1 4 11 2 5 8 15 6 9 12 3 10 13 16 7 ;3 2 5 16 7 6 9 4 11 10 13 8 15 14 1 12 ;12 15 10 13 16 3 14 1 4 7 2 5 8 11 6 9 ;13 12 11 10 1 16 15 14 5 4 3 2 9 8 7 6 ;2 5 8 15 6 9 12 3 10 13 16 7 14 1 4 11 ;7 6 9 4 11 10 13 8 15 14 1 12 3 2 5 16 ;16 3 14 1 4 7 2 5 8 11 6 9 12 15 10 13 ;1 16 15 14 5 4 3 2 9 8 7 6 13 12 11 10 ;6 9 12 3 10 13 16 7 14 1 4 11 2 5 8 15 ;11 10 13 8 15 14 1 12 3 2 5 16 7 6 9 4 ;4 7 2 5 8 11 6 9 12 15 10 13 16 3 14 1 ;5 4 3 2 9 8 7 6 13 12 11 10 1 16 15 14 ;10 13 16 7 14 1 4 11 2 5 8 15 6 9 12 3 ;15 14 1 12 3 2 5 16 7 6 9 4 11 10 13 8 ;8 11 6 9 12 15 10 13 16 3 14 1 4 7 2 5 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 6 17 4 33 2 7 12 23 10 3 8 13 18 29 16 9 14 19 24 35 22 15 20 25 30 5 28 21 26 31 36 11 34 27 32 ;8 19 12 29 10 15 14 25 18 35 16 21 20 31 24 5 22 27 26 1 30 11 28 33 32 7 36 17 34 3 2 13 6 23 4 9 ;9 26 7 18 23 28 15 32 13 24 29 34 21 2 19 30 35 4 27 8 25 36 5 10 33 14 31 6 11 16 3 20 1 12 17 22 ;16 27 32 31 30 11 22 33 2 1 36 17 28 3 8 7 6 23 34 9 14 13 12 29 4 15 20 19 18 35 10 21 26 25 24 5 ;35 34 3 20 13 24 5 4 9 26 19 30 11 10 15 32 25 36 17 16 21 2 31 6 23 22 27 8 1 12 29 28 33 14 7 18 ;36 5 22 21 14 25 6 11 28 27 20 31 12 17 34 33 26 1 18 23 4 3 32 7 24 29 10 9 2 13 30 35 16 15 8 19 ;7 12 23 10 3 8 13 18 29 16 9 14 19 24 35 22 15 20 25 30 5 28 21 26 31 36 11 34 27 32 1 6 17 4 33 2 ;14 25 18 35 16 21 20 31 24 5 22 27 26 1 30 11 28 33 32 7 36 17 34 3 2 13 6 23 4 9 8 19 12 29 10 15 ;15 32 13 24 29 34 21 2 19 30 35 4 27 8 25 36 5 10 33 14 31 6 11 16 3 20 1 12 17 22 9 26 7 18 23 28 ;22 33 2 1 36 17 28 3 8 7 6 23 34 9 14 13 12 29 4 15 20 19 18 35 10 21 26 25 24 5 16 27 32 31 30 11 ;5 4 9 26 19 30 11 10 15 32 25 36 17 16 21 2 31 6 23 22 27 8 1 12 29 28 33 14 7 18 35 34 3 20 13 24 ;6 11 28 27 20 31 12 17 34 33 26 1 18 23 4 3 32 7 24 29 10 9 2 13 30 35 16 15 8 19 36 5 22 21 14 25 ;13 18 29 16 9 14 19 24 35 22 15 20 25 30 5 28 21 26 31 36 11 34 27 32 1 6 17 4 33 2 7 12 23 10 3 8 ;20 31 24 5 22 27 26 1 30 11 28 33 32 7 36 17 34 3 2 13 6 23 4 9 8 19 12 29 10 15 14 25 18 35 16 21 ;21 2 19 30 35 4 27 8 25 36 5 10 33 14 31 6 11 16 3 20 1 12 17 22 9 26 7 18 23 28 15 32 13 24 29 34 ;28 3 8 7 6 23 34 9 14 13 12 29 4 15 20 19 18 35 10 21 26 25 24 5 16 27 32 31 30 11 22 33 2 1 36 17 ;11 10 15 32 25 36 17 16 21 2 31 6 23 22 27 8 1 12 29 28 33 14 7 18 35 34 3 20 13 24 5 4 9 26 19 30 ;12 17 34 33 26 1 18 23 4 3 32 7 24 29 10 9 2 13 30 35 16 15 8 19 36 5 22 21 14 25 6 11 28 27 20 31 ;19 24 35 22 15 20 25 30 5 28 21 26 31 36 11 34 27 32 1 6 17 4 33 2 7 12 23 10 3 8 13 18 29 16 9 14 ;26 1 30 11 28 33 32 7 36 17 34 3 2 13 6 23 4 9 8 19 12 29 10 15 14 25 18 35 16 21 20 31 24 5 22 27 ;27 8 25 36 5 10 33 14 31 6 11 16 3 20 1 12 17 22 9 26 7 18 23 28 15 32 13 24 29 34 21 2 19 30 35 4 ;34 9 14 13 12 29 4 15 20 19 18 35 10 21 26 25 24 5 16 27 32 31 30 11 22 33 2 1 36 17 28 3 8 7 6 23 ;17 16 21 2 31 6 23 22 27 8 1 12 29 28 33 14 7 18 35 34 3 20 13 24 5 4 9 26 19 30 11 10 15 32 25 36 ;18 23 4 3 32 7 24 29 10 9 2 13 30 35 16 15 8 19 36 5 22 21 14 25 6 11 28 27 20 31 12 17 34 33 26 1 ;25 30 5 28 21 26 31 36 11 34 27 32 1 6 17 4 33 2 7 12 23 10 3 8 13 18 29 16 9 14 19 24 35 22 15 20 ;32 7 36 17 34 3 2 13 6 23 4 9 8 19 12 29 10 15 14 25 18 35 16 21 20 31 24 5 22 27 26 1 30 11 28 33 ;33 14 31 6 11 16 3 20 1 12 17 22 9 26 7 18 23 28 15 32 13 24 29 34 21 2 19 30 35 4 27 8 25 36 5 10 ;4 15 20 19 18 35 10 21 26 25 24 5 16 27 32 31 30 11 22 33 2 1 36 17 28 3 8 7 6 23 34 9 14 13 12 29 ;23 22 27 8 1 12 29 28 33 14 7 18 35 34 3 20 13 24 5 4 9 26 19 30 11 10 15 32 25 36 17 16 21 2 31 6 ;24 29 10 9 2 13 30 35 16 15 8 19 36 5 22 21 14 25 6 11 28 27 20 31 12 17 34 33 26 1 18 23 4 3 32 7 ;31 36 11 34 27 32 1 6 17 4 33 2 7 12 23 10 3 8 13 18 29 16 9 14 19 24 35 22 15 20 25 30 5 28 21 26 ;2 13 6 23 4 9 8 19 12 29 10 15 14 25 18 35 16 21 20 31 24 5 22 27 26 1 30 11 28 33 32 7 36 17 34 3 ;3 20 1 12 17 22 9 26 7 18 23 28 15 32 13 24 29 34 21 2 19 30 35 4 27 8 25 36 5 10 33 14 31 6 11 16 ;10 21 26 25 24 5 16 27 32 31 30 11 22 33 2 1 36 17 28 3 8 7 6 23 34 9 14 13 12 29 4 15 20 19 18 35 ;29 28 33 14 7 18 35 34 3 20 13 24 5 4 9 26 19 30 11 10 15 32 25 36 17 16 21 2 31 6 23 22 27 8 1 12 ;30 35 16 15 8 19 36 5 22 21 14 25 6 11 28 27 20 31 12 17 34 33 26 1 18 23 4 3 32 7 24 29 10 9 2 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))","published":true,"deleted":false,"likes_count":4,"comments_count":1,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":66,"test_suite_updated_at":"2013-10-14T05:18:15.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2013-10-14T02:09:35.000Z","updated_at":"2025-12-15T20:06:09.000Z","published_at":"2013-10-14T02:26:56.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/2929486/dashboard#s=p0\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 China Sudoku\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Large Case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Goal is determine if the Sudoku square is valid. Each row and column must contain 1:N, for an NxN matix. Nroot=N^.5. Each NrootxNroot block must contain 1:N where blocks start at [1,1+Nroot,...] in Row/Col.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [M], NxN matrix (3^2\u0026lt;=N\u0026lt;=6^2)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e TF, 1=Valid, 0=Invalid\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[TF=1\\n5 3 4 6 7 8 9 1 2\\n6 7 2 1 9 5 3 4 8\\n1 9 8 3 4 2 5 6 7\\n8 5 9 7 6 1 4 2 3\\n4 2 6 8 5 3 7 9 1\\n7 1 3 9 2 4 8 5 6\\n9 6 1 5 3 7 2 8 4\\n2 8 7 4 1 9 6 3 5\\n3 4 5 2 8 6 1 7 9\\n\\nTF=0\\n5 3 4 6 7 8 9 1 2\\n6 7 2 1 9 5 3 4 8\\n1 9 8 3 4 2 5 6 7\\n8 5 9 7 6 1 4 2 3\\n4 2 6 8 999 3 7 9 1\\n7 1 3 9 2 4 8 5 6\\n9 6 1 5 3 7 2 8 4\\n2 8 7 4 1 9 6 3 5\\n3 4 5 2 8 6 1 7 9]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eContest Performance:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Best Delta Time of 7 minutes with 1146 of 2010 able to process the large data set.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":1903,"title":"GJam 2014 China Rd A: Maze with a Left Hand Rule","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/2924486/dashboard#s=p3 GJam 2014 China Cross the Maze\u003e.\r\n\r\nThe Goal is to minimally traverse a Maze from a Starting Point to Finish Point in less than 10,000 moves where the Bot can only go forward and must maintain its Left Arm in contact with a wall. At the Start Point the Bot can only touch NSEW. After the first move the Bot maintains contact on diagonals. Rotations in a cul-de-sac or turning are not counted as moves.\r\n\r\n\r\n*Input:* [M, Start_Finish] where M is an NxN (0,1=Wall) array and Start_Finish is [Sr,Sc,Fr,Fc]\r\n\r\n*Output:* Path, a string of Movements {N,S,E,W}. If Path is \u003e10,000 moves or No solution return a null string.\r\n\r\n*Examples:*\r\n\r\n  .##.#\r\n  .....\r\n  ...#.\r\n  .###.\r\n  ...#.\r\n  1 1 5 3\r\n\r\nNote: (1,1) is Top Left and start point for this case. \r\n\r\nThe # are replaced by 1s and '.' will be 0s.\r\n\r\nOutput: SEEENSESSSNNNWWSWWSSEE\r\n\r\n*Contest Performance:* Best Delta Time of 17 minutes with only 134 correct solutions in 3 hours.\r\n","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/2924486/dashboard#s=p3\"\u003eGJam 2014 China Cross the Maze\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eThe Goal is to minimally traverse a Maze from a Starting Point to Finish Point in less than 10,000 moves where the Bot can only go forward and must maintain its Left Arm in contact with a wall. At the Start Point the Bot can only touch NSEW. After the first move the Bot maintains contact on diagonals. Rotations in a cul-de-sac or turning are not counted as moves.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [M, Start_Finish] where M is an NxN (0,1=Wall) array and Start_Finish is [Sr,Sc,Fr,Fc]\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Path, a string of Movements {N,S,E,W}. If Path is \u003e10,000 moves or No solution return a null string.\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e.##.#\r\n.....\r\n...#.\r\n.###.\r\n...#.\r\n1 1 5 3\r\n\u003c/pre\u003e\u003cp\u003eNote: (1,1) is Top Left and start point for this case.\u003c/p\u003e\u003cp\u003eThe # are replaced by 1s and '.' will be 0s.\u003c/p\u003e\u003cp\u003eOutput: SEEENSESSSNNNWWSWWSSEE\u003c/p\u003e\u003cp\u003e\u003cb\u003eContest Performance:\u003c/b\u003e Best Delta Time of 17 minutes with only 134 correct solutions in 3 hours.\u003c/p\u003e","function_template":"function Path=Maze_CH(m,sf);\r\n  Path='';;\r\nend","test_suite":"%%\r\ntic\r\nzm=[0 1 ;1 0 ];\r\nzsf=[1 1 2 2 ];\r\nvexp='';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 1 1 0 1 ;0 0 0 0 0 ;0 0 0 1 0 ;0 1 1 1 0 ;0 0 0 1 0 ];\r\nzsf=[1 1 5 3 ];\r\nvexp='SEEENSESSSNNNWWSWWSSEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 ;0 1 0 ;0 0 0 ];\r\nzsf=[1 1 3 3 ];\r\nvexp='EESS';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 1 2 2 ];\r\nvexp='';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 1 0 1 0 1 0 1 ;0 0 0 0 0 0 0 0 ;1 1 1 1 1 1 1 0 ;0 0 0 0 0 0 0 0 ;0 1 0 1 0 1 0 1 ;0 1 1 1 1 1 1 1 ;0 1 0 1 0 1 0 1 ;0 0 0 0 0 0 0 0 ];\r\nzsf=[1 1 8 8 ];\r\nvexp='SEENSEENSEENSESSWSNWWSNWWSNWWSSSSEENSEENSEENSE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 10 1 4 ];\r\nvexp='SSSSSSSSSWWWWWWWWWNNNNNNNNNEEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 1 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 1 3 1 ];\r\nvexp='EEEEEEEESESSSSSSSSWWWWWWWWWNNNNNNN';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 1 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 1 7 1 ];\r\nvexp='EEEEEEEEESSSSSSSSSWWWWWWWWWNNN';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 1 0 0 ;0 0 0 1 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 1 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 10 1 4 ];\r\nvexp='SSSSSSSSSWWWWWWWWWNNNNNNNNNEEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 1 0 0 0 ;1 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 1 ;0 0 0 1 0 0 0 0 0 0 ;0 1 0 0 1 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[10 1 10 3 ];\r\nvexp='NNNNNENNWNNEEEEEEEEESSSSSWSSESSWWWWWWW';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 1 0 0 0 0 1 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 10 1 4 ];\r\nvexp='SSSSSSSSSWWWWWWWWWNNNNNNNNNEEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 1 ;0 0 0 0 0 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 0 ;0 0 0 0 0 1 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 1 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 1 0 0 0 0 0 0 ];\r\nzsf=[10 1 10 2 ];\r\nvexp='NNNNNNNNNEEEEEEEEESWSSESSSSSSWWWWWNWWSW';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 1 0 0 0 0 0 0 ;0 0 1 0 0 0 0 0 1 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 1 1 0 0 0 0 1 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[10 10 1 10 ];\r\nvexp='WWWWWWWWWNNNNNNNNNEEWSSEENENEEEEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 0 ;0 0 1 0 0 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 1 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 1 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[10 10 5 10 ];\r\nvexp='WWWWWWWWWNNNNNNNNNEEEEEEEEESSSS';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 1 0 0 0 0 0 0 0 0 ;0 0 0 0 1 0 1 0 0 0 ;0 0 0 0 0 1 0 1 0 1 ;0 0 0 0 1 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 0 ;0 0 0 1 0 0 0 0 1 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 1 0 0 0 0 0 0 1 ;0 0 0 1 0 0 0 0 0 0 ;1 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 1 9 1 ];\r\nvexp='SEENEEEEEEESWSSESSSWSSESWWWWWWWWNW';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 1 0 0 0 0 0 1 1 ;0 1 0 0 0 1 0 1 1 0 ;0 0 0 1 0 1 0 1 0 1 ;0 0 1 0 1 0 1 0 0 1 ;0 0 0 1 0 0 0 0 0 1 ;0 1 0 0 1 0 0 1 1 1 ;0 0 0 1 0 1 0 0 0 1 ;0 1 0 0 0 1 0 0 0 0 ;1 0 0 1 0 0 1 0 0 0 ;0 1 0 1 1 0 0 0 0 1 ];\r\nzsf=[10 1 9 6 ];\r\nvexp='';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 1 0 1 0 0 0 0 0 0 ;0 1 0 0 0 0 1 0 0 0 ;1 0 0 1 0 0 1 0 0 0 ;1 0 0 1 1 0 0 0 0 0 ;0 1 1 0 1 0 1 1 1 0 ;1 1 1 0 0 0 0 0 0 0 ;1 0 0 0 1 0 1 0 0 0 ;1 1 1 1 0 1 0 0 1 0 ;1 1 0 1 1 0 1 1 1 1 ;0 1 1 1 1 0 1 1 1 0 ];\r\nzsf=[1 1 10 6 ];\r\nvexp='';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 1 0 0 0 0 0 0 1 1 ;1 0 0 1 1 0 0 1 0 1 ;0 0 0 1 0 0 0 0 1 0 ;0 0 0 0 1 0 0 0 0 1 ;0 0 1 0 0 1 0 0 0 0 ;0 0 1 0 0 0 1 0 0 0 ;0 0 1 1 1 1 1 1 0 0 ;1 0 0 0 1 0 1 1 1 0 ;1 0 0 0 1 1 0 1 1 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[10 10 3 6 ];\r\nvexp='';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 1 0 0 0 0 0 0 0 ;0 0 0 0 0 0 1 0 0 0 ;1 0 0 0 0 0 0 0 0 0 ;1 0 0 1 0 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 0 ;0 0 1 0 1 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 1 0 0 ;0 0 0 0 0 0 0 1 0 0 ];\r\nzsf=[10 1 10 3 ];\r\nvexp='NNNNNSESEENNWNWNNWNESEENEEEEEESSSSSSSSSWNNWWSSWWWW';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 1 0 1 0 0 0 0 ;0 0 0 0 0 0 0 1 0 0 ;0 0 0 0 1 0 0 0 0 1 ;1 1 0 0 0 0 0 0 0 0 ;0 0 0 0 0 1 0 0 0 1 ;0 0 0 0 0 0 0 0 1 0 ;0 0 0 0 0 0 0 1 0 1 ;0 0 0 0 1 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 1 0 ];\r\nzsf=[1 1 5 3 ];\r\nvexp='EESEENSEENEEESWSSEWSWSWSSEENSESSNWWSWWWWWWWNNNNNEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 1 1 ;0 1 0 0 0 0 0 1 0 0 ;0 0 0 1 0 0 1 1 0 0 ;0 0 0 0 0 1 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 1 1 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 1 1 0 0 ;0 0 0 0 1 0 0 0 0 0 ];\r\nzsf=[10 10 8 10 ];\r\nvexp='WWWWNWWSWWWNNNNNNNNNEEEEEEEWSWSWSSEENEENNESSSSWWSSEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 1 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;1 1 0 0 0 0 0 0 0 0 ;1 0 0 0 0 1 0 0 0 0 ;0 0 0 0 0 0 0 1 1 0 ;0 0 0 0 0 0 1 0 0 1 ;0 0 0 0 0 0 0 0 0 0 ;0 1 0 0 0 1 0 0 0 0 ;1 0 1 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[10 1 10 10 ];\r\nvexp='ENSEENNWNWWSNNNENENNWWNEEESEENEEEESSSSNWWWSWSSEENESESSS';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 1 0 0 0 0 0 ;1 1 1 0 0 0 1 0 0 0 ;0 0 1 1 1 0 1 0 0 0 ;0 0 0 1 1 0 0 0 0 0 ;0 0 1 0 0 0 0 0 0 1 ;0 0 0 0 0 0 0 0 0 0 ;0 1 0 0 0 0 0 0 1 0 ;0 0 0 1 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 1 0 0 0 0 0 0 0 ];\r\nzsf=[10 10 6 10 ];\r\nvexp='WWWWWWNWWSWNNNNNNNESEWSSEENEENNNWWNWWWEEESEENEEEESSSWSSE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 1 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 1 0 ;0 0 0 0 0 0 1 0 0 0 ;0 0 0 0 0 1 1 0 0 1 ;0 0 0 0 0 0 0 1 0 0 ;1 0 0 0 0 1 0 0 1 0 ;0 0 0 0 0 0 0 0 0 1 ;0 0 0 1 1 0 1 0 0 0 ;0 1 1 1 0 0 0 1 0 0 ;0 0 0 0 1 0 1 0 0 0 ];\r\nzsf=[1 10 6 2 ];\r\nvexp='SSWSSESNWNWNNWWSWSSEESESESESSWWENNWNWWSSEWSNWENNWWWSWWSSEEEWWWNNNEN';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 1 0 0 0 ;0 0 0 1 0 1 0 0 0 0 ;0 0 0 0 0 0 1 0 0 0 ;0 0 0 0 0 1 0 0 0 0 ;1 1 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 1 0 1 0 ;0 0 0 0 0 0 0 1 1 0 ;1 1 0 0 0 1 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 10 2 8 ];\r\nvexp='SSSSSSSSSWWWWWWWNWWSNEENNWWNEENNWWNNNEEEEEWSSEWSSEENENN';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[1 0 0 0 0 0 0 0 0 0 ;0 0 0 1 0 0 1 0 0 0 ;1 0 0 0 0 0 0 0 1 0 ;0 0 1 1 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 1 ;1 0 0 0 1 0 0 0 0 0 ;0 0 0 1 0 0 0 0 1 0 ;0 0 1 0 0 1 0 0 0 0 ;0 0 0 0 0 1 0 1 0 0 ;0 0 1 0 0 0 1 0 1 0 ];\r\nzsf=[1 10 1 6 ];\r\nvexp='SSSWSSESSSSNWNWWSNNWWSSSEWWNWWSWNNNENNWNENNWENEEEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 1 0 0 0 ;0 0 0 0 0 0 1 0 1 0 ;0 0 0 0 0 0 0 0 1 0 ;1 1 0 0 0 0 0 0 0 0 ;0 0 1 0 0 0 1 0 0 0 ;1 0 0 1 0 0 0 0 0 0 ;1 1 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 1 0 ;0 0 0 0 1 0 0 0 1 0 ];\r\nzsf=[1 1 7 4 ];\r\nvexp='EEEEESSEENNEESSSSSSSSSNNWWSSWWNWWSWWWNNEENNWNWESESE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 1 0 0 1 1 1 0 1 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 1 0 0 0 0 1 0 0 ;0 0 0 1 1 1 0 0 0 0 ;1 1 1 0 0 0 0 0 1 0 ;0 1 0 0 0 1 0 0 0 1 ;0 0 1 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 1 0 0 0 0 ;0 0 0 1 0 0 0 0 0 0 ];\r\nzsf=[10 1 10 5 ];\r\nvexp='NNNNSESEENNWENEEENNWWWNWWSSEWWNNNSEENESEEEENSEENSSSSNWWSSESESSSWWWWW';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 1 1 0 1 ;0 0 1 0 0 0 0 0 0 0 ;0 1 0 1 0 0 0 0 1 0 ;0 0 0 0 1 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 1 ;0 0 0 0 1 0 0 1 0 0 ;0 0 0 0 1 0 0 1 0 1 ;0 0 0 0 0 1 0 0 1 0 ;0 0 0 0 0 1 1 0 0 0 ;0 0 1 0 0 0 1 0 0 0 ];\r\nzsf=[10 1 9 2 ];\r\nvexp='NNNNNNNNNEEEEESEEENSESSWSSEWSNNWWSSSESEENSSWWNNWNWNNWWSSSESSEWWNWW';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 1 0 0 1 0 0 0 ;1 0 0 0 0 1 1 0 0 1 ;0 0 1 1 0 0 0 0 1 0 ;0 1 0 1 0 0 0 0 1 0 ;1 1 0 0 0 0 0 0 0 0 ;1 1 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 1 0 0 0 0 0 0 0 ;1 0 0 0 1 0 0 0 0 1 ;0 0 0 0 0 1 0 1 0 0 ];\r\nzsf=[10 1 8 4 ];\r\nvexp='ENNWNEENNNSEENNNWWWSWSNENNWEESEENEWSSEEENNEEWSWSSSEENNSSSSSWSSEWNWWSNWNWW';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\ntoc","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":6,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-09-30T03:46:21.000Z","updated_at":"2026-02-10T13:15:01.000Z","published_at":"2013-09-30T04:01:29.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/2924486/dashboard#s=p3\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 China Cross the Maze\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Goal is to minimally traverse a Maze from a Starting Point to Finish Point in less than 10,000 moves where the Bot can only go forward and must maintain its Left Arm in contact with a wall. At the Start Point the Bot can only touch NSEW. After the first move the Bot maintains contact on diagonals. Rotations in a cul-de-sac or turning are not counted as moves.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [M, Start_Finish] where M is an NxN (0,1=Wall) array and Start_Finish is [Sr,Sc,Fr,Fc]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Path, a string of Movements {N,S,E,W}. If Path is \u0026gt;10,000 moves or No solution return a null string.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[.##.#\\n.....\\n...#.\\n.###.\\n...#.\\n1 1 5 3]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eNote: (1,1) is Top Left and start point for this case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe # are replaced by 1s and '.' will be 0s.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput: SEEENSESSSNNNWWSWWSSEE\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eContest Performance:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Best Delta Time of 17 minutes with only 134 correct solutions in 3 hours.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":1901,"title":"GJam 2014 China Rd A: Read Phone Number","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/2924486/dashboard GJam 2014 China Read Phone Number\u003e. Small Case.\r\n\r\nThe Goal is to output a string for the reading of a segmented phone number. When numbers are replicated within a segment the number is preceded by its multiplier. If there are more than 10 repeats in a segment then the number is output for the number of occurrences. Count multipliers are double, triple, quadruple, quintuple, sextuple, septuple, octuple, nonuple, and decuple for 2 thru 10, respectively.\r\n\r\n\r\n*Input:* [Number, Segments] where Number is a string and segments is a Vector that sums to the length of Number\r\n\r\n*Output:* Text, a string of the reading based upon segments\r\n\r\n*Examples:*\r\n\r\n  [Number,Segments]  [Text]\r\n    ['15012233444', [3 4 4]] ['one five zero one double two three three triple four']\r\n    ['15012233444', [3 3 5]] ['one five zero one double two double three triple four']\r\n    \r\n\r\n*Contest Performance:* Best Delta Time of 11 minutes with 1885 of 3058 able to process the small data set.\r\n","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/2924486/dashboard\"\u003eGJam 2014 China Read Phone Number\u003c/a\u003e. Small Case.\u003c/p\u003e\u003cp\u003eThe Goal is to output a string for the reading of a segmented phone number. When numbers are replicated within a segment the number is preceded by its multiplier. If there are more than 10 repeats in a segment then the number is output for the number of occurrences. Count multipliers are double, triple, quadruple, quintuple, sextuple, septuple, octuple, nonuple, and decuple for 2 thru 10, respectively.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [Number, Segments] where Number is a string and segments is a Vector that sums to the length of Number\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Text, a string of the reading based upon segments\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e[Number,Segments]  [Text]\r\n  ['15012233444', [3 4 4]] ['one five zero one double two three three triple four']\r\n  ['15012233444', [3 3 5]] ['one five zero one double two double three triple four']\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eContest Performance:\u003c/b\u003e Best Delta Time of 11 minutes with 1885 of 3058 able to process the small data set.\u003c/p\u003e","function_template":"function Text = Phone_CH(str,v) %\r\n Text='';\r\nend\r\n\r\n% One method for inserting strings from a cell array\r\nfunction valuestr=Phone_number(x)\r\n valuecell={'zero' 'one' 'two' 'three' 'four' 'five' 'six' 'seven' 'eight' 'nine'};\r\n valuestr=valuecell{x+1};\r\nend\r\n\r\nfunction qtystr=Phone_qty(x)\r\n qtycell={'' 'double' 'triple' 'quadruple' 'quintuple' 'sextuple' 'septuple' 'octuple' 'nonuple' 'decuple'};\r\n qtystr=qtycell{x};\r\nend","test_suite":"%%\r\ntic\r\nzstr='1';\r\nzv=[1 ];\r\nvexp='one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='22';\r\nzv=[2 ];\r\nvexp='double two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='333';\r\nzv=[3 ];\r\nvexp='triple three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4444';\r\nzv=[4 ];\r\nvexp='quadruple four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='55555';\r\nzv=[5 ];\r\nvexp='quintuple five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='666666';\r\nzv=[6 ];\r\nvexp='sextuple six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7777777';\r\nzv=[7 ];\r\nvexp='septuple seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='88888888';\r\nzv=[8 ];\r\nvexp='octuple eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='999999999';\r\nzv=[9 ];\r\nvexp='nonuple nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0000000000';\r\nzv=[10 ];\r\nvexp='decuple zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1111111111';\r\nzv=[1 1 1 1 1 1 1 1 1 1 ];\r\nvexp='one one one one one one one one one one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1111111111';\r\nzv=[1 2 3 4 ];\r\nvexp='one double one triple one quadruple one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='6701604014';\r\nzv=[1 4 5 ];\r\nvexp='six seven zero one six zero four zero one four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4096453178';\r\nzv=[8 2 ];\r\nvexp='four zero nine six four five three one seven eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5418148180';\r\nzv=[5 3 2 ];\r\nvexp='five four one eight one four eight one eight zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='2319652041';\r\nzv=[8 2 ];\r\nvexp='two three one nine six five two zero four one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9645684646';\r\nzv=[6 2 1 1 ];\r\nvexp='nine six four five six eight four six four six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4508456969';\r\nzv=[5 3 2 ];\r\nvexp='four five zero eight four five six nine six nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1839791609';\r\nzv=[5 1 3 1 ];\r\nvexp='one eight three nine seven nine one six zero nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9398750802';\r\nzv=[1 1 1 4 2 1 ];\r\nvexp='nine three nine eight seven five zero eight zero two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5263950835';\r\nzv=[4 5 1 ];\r\nvexp='five two six three nine five zero eight three five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1456187089';\r\nzv=[3 6 1 ];\r\nvexp='one four five six one eight seven zero eight nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='64360690';\r\nzv=[8 ];\r\nvexp='six four three six zero six nine zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7367';\r\nzv=[2 1 1 ];\r\nvexp='seven three six seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='2441739';\r\nzv=[5 2 ];\r\nvexp='two double four one seven three nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7532179';\r\nzv=[1 1 2 2 1 ];\r\nvexp='seven five three two one seven nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0850664';\r\nzv=[3 4 ];\r\nvexp='zero eight five zero double six four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='8013334';\r\nzv=[5 2 ];\r\nvexp='eight zero one double three three four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0184088';\r\nzv=[2 1 4 ];\r\nvexp='zero one eight four zero double eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='706181428';\r\nzv=[4 4 1 ];\r\nvexp='seven zero six one eight one four two eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='98530';\r\nzv=[5 ];\r\nvexp='nine eight five three zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='29664';\r\nzv=[5 ];\r\nvexp='two nine double six four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='49502';\r\nzv=[2 3 ];\r\nvexp='four nine five zero two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='15';\r\nzv=[2 ];\r\nvexp='one five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='562640038';\r\nzv=[4 4 1 ];\r\nvexp='five six two six four double zero three eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1148979';\r\nzv=[6 1 ];\r\nvexp='double one four eight nine seven nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='79982';\r\nzv=[3 1 1 ];\r\nvexp='seven double nine eight two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='769';\r\nzv=[3 ];\r\nvexp='seven six nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1742234';\r\nzv=[6 1 ];\r\nvexp='one seven four double two three four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='81818447';\r\nzv=[5 1 1 1 ];\r\nvexp='eight one eight one eight four four seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5';\r\nzv=[1 ];\r\nvexp='five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='86';\r\nzv=[2 ];\r\nvexp='eight six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0573913609';\r\nzv=[6 1 2 1 ];\r\nvexp='zero five seven three nine one three six zero nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='497772738';\r\nzv=[1 3 2 3 ];\r\nvexp='four nine double seven seven two seven three eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='2252931';\r\nzv=[1 5 1 ];\r\nvexp='two two five two nine three one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='19664';\r\nzv=[3 2 ];\r\nvexp='one nine six six four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='566175';\r\nzv=[5 1 ];\r\nvexp='five double six one seven five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='92433';\r\nzv=[4 1 ];\r\nvexp='nine two four three three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='912039567';\r\nzv=[1 6 2 ];\r\nvexp='nine one two zero three nine five six seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4820841';\r\nzv=[5 1 1 ];\r\nvexp='four eight two zero eight four one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='71';\r\nzv=[1 1 ];\r\nvexp='seven one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4690';\r\nzv=[1 1 2 ];\r\nvexp='four six nine zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='106624';\r\nzv=[4 2 ];\r\nvexp='one zero double six two four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7900005';\r\nzv=[6 1 ];\r\nvexp='seven nine quadruple zero five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='407';\r\nzv=[2 1 ];\r\nvexp='four zero seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7738672895';\r\nzv=[8 1 1 ];\r\nvexp='double seven three eight six seven two eight nine five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='027326244';\r\nzv=[2 2 4 1 ];\r\nvexp='zero two seven three two six two four four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='115855';\r\nzv=[2 1 2 1 ];\r\nvexp='double one five eight five five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='6553794';\r\nzv=[5 1 1 ];\r\nvexp='six double five three seven nine four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='426185417';\r\nzv=[8 1 ];\r\nvexp='four two six one eight five four one seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='31';\r\nzv=[1 1 ];\r\nvexp='three one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='68';\r\nzv=[1 1 ];\r\nvexp='six eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='05658716';\r\nzv=[4 4 ];\r\nvexp='zero five six five eight seven one six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='87';\r\nzv=[1 1 ];\r\nvexp='eight seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='99329';\r\nzv=[3 2 ];\r\nvexp='double nine three two nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='21';\r\nzv=[1 1 ];\r\nvexp='two one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='82';\r\nzv=[1 1 ];\r\nvexp='eight two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='3273256549';\r\nzv=[8 1 1 ];\r\nvexp='three two seven three two five six five four nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4';\r\nzv=[1 ];\r\nvexp='four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0';\r\nzv=[1 ];\r\nvexp='zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='780409';\r\nzv=[4 1 1 ];\r\nvexp='seven eight zero four zero nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='252966140';\r\nzv=[4 3 2 ];\r\nvexp='two five two nine double six one four zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='3416708243';\r\nzv=[10 ];\r\nvexp='three four one six seven zero eight two four three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='715';\r\nzv=[2 1 ];\r\nvexp='seven one five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='714860127';\r\nzv=[7 2 ];\r\nvexp='seven one four eight six zero one two seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='148725';\r\nzv=[4 2 ];\r\nvexp='one four eight seven two five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='130';\r\nzv=[2 1 ];\r\nvexp='one three zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='59696645';\r\nzv=[1 1 1 2 3 ];\r\nvexp='five nine six nine six six four five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='221065';\r\nzv=[2 2 2 ];\r\nvexp='double two one zero six five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='57715162';\r\nzv=[2 3 2 1 ];\r\nvexp='five seven seven one five one six two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='110';\r\nzv=[2 1 ];\r\nvexp='double one zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7537367';\r\nzv=[1 4 2 ];\r\nvexp='seven five three seven three six seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9526681205';\r\nzv=[6 3 1 ];\r\nvexp='nine five two double six eight one two zero five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0818593729';\r\nzv=[1 3 2 4 ];\r\nvexp='zero eight one eight five nine three seven two nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='729800081';\r\nzv=[9 ];\r\nvexp='seven two nine eight triple zero eight one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='2124';\r\nzv=[1 1 1 1 ];\r\nvexp='two one two four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7045';\r\nzv=[3 1 ];\r\nvexp='seven zero four five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='6317406';\r\nzv=[7 ];\r\nvexp='six three one seven four zero six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='922906835';\r\nzv=[8 1 ];\r\nvexp='nine double two nine zero six eight three five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='55';\r\nzv=[2 ];\r\nvexp='double five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='70985826';\r\nzv=[3 2 1 2 ];\r\nvexp='seven zero nine eight five eight two six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1619499314';\r\nzv=[8 1 1 ];\r\nvexp='one six one nine four double nine three one four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='89375';\r\nzv=[1 1 3 ];\r\nvexp='eight nine three seven five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='655162';\r\nzv=[1 5 ];\r\nvexp='six double five one six two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='180902';\r\nzv=[3 3 ];\r\nvexp='one eight zero nine zero two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='39106';\r\nzv=[5 ];\r\nvexp='three nine one zero six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='82361352';\r\nzv=[6 2 ];\r\nvexp='eight two three six one three five two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='39';\r\nzv=[1 1 ];\r\nvexp='three nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='63';\r\nzv=[2 ];\r\nvexp='six three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='16748';\r\nzv=[5 ];\r\nvexp='one six seven four eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\ntoc\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":1,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":13,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-09-29T21:29:44.000Z","updated_at":"2013-09-29T21:55:08.000Z","published_at":"2013-09-29T21:45:58.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/2924486/dashboard\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 China Read Phone Number\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Small Case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Goal is to output a string for the reading of a segmented phone number. When numbers are replicated within a segment the number is preceded by its multiplier. If there are more than 10 repeats in a segment then the number is output for the number of occurrences. Count multipliers are double, triple, quadruple, quintuple, sextuple, septuple, octuple, nonuple, and decuple for 2 thru 10, respectively.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [Number, Segments] where Number is a string and segments is a Vector that sums to the length of Number\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Text, a string of the reading based upon segments\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[[Number,Segments]  [Text]\\n  ['15012233444', [3 4 4]] ['one five zero one double two three three triple four']\\n  ['15012233444', [3 3 5]] ['one five zero one double two double three triple four']]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eContest Performance:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Best Delta Time of 11 minutes with 1885 of 3058 able to process the small data set.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":2324,"title":"GJam 2014 Rd 1c: Train Cars","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/3004486/dashboard#s=p1 GJam 2014 Rd 1c: Reordering Train Cars\u003e.\r\n\r\nDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous. \r\n\r\n*Input:* s, string of N space separated string segments of letters [a..z]. 1\u003c=N\u003c=10. Total letters \u003c=100.\r\n\r\n*Output:* val, number of possible sequences\r\n\r\n*Example:*  Small Case\r\n\r\n  ab bbbc cd Val=1 as only abbbbccd can be created\r\n  aa aa bc c Val=4 aa gives 2 positions, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\r\n  abc bcd    Val=0 as c is internal and thus can not connect to c of abc\r\n\r\n*Theory:* (Spoilers)\r\n\r\nA methodical approach implements the following checks: No internal equals any Start/End. Note aaa has no internal. Verify each string has no non-contiguous letters. Verify no two strings have same start or end except where start==end as in bbbb. Val is N! if there are N cc strings. Each string segment is considered a unique piece when counting. Reduce the strings of type aa until there is only one and increase Val by N!. With remaining strings merge to S strings. Val is then scaled by S!. Key merging issue is that ab ba may look mergeable to aa but in actuality it creates abba - invalid and baab -invalid thus Val=0. Creation of full length string and then a final validity check resolves this issue.\r\n\r\nAdditional GJam solutions can be found at \u003chttp://go-hero.net/jam Example GJam Matlab solutions\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Matlab solution. No Valid Matlab solutions were submitted during the contest.","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/3004486/dashboard#s=p1\"\u003eGJam 2014 Rd 1c: Reordering Train Cars\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e s, string of N space separated string segments of letters [a..z]. 1\u0026lt;=N\u0026lt;=10. Total letters \u0026lt;=100.\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e val, number of possible sequences\u003c/p\u003e\u003cp\u003e\u003cb\u003eExample:\u003c/b\u003e  Small Case\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eab bbbc cd Val=1 as only abbbbccd can be created\r\naa aa bc c Val=4 aa gives 2 positions, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\r\nabc bcd    Val=0 as c is internal and thus can not connect to c of abc\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eTheory:\u003c/b\u003e (Spoilers)\u003c/p\u003e\u003cp\u003eA methodical approach implements the following checks: No internal equals any Start/End. Note aaa has no internal. Verify each string has no non-contiguous letters. Verify no two strings have same start or end except where start==end as in bbbb. Val is N! if there are N cc strings. Each string segment is considered a unique piece when counting. Reduce the strings of type aa until there is only one and increase Val by N!. With remaining strings merge to S strings. Val is then scaled by S!. Key merging issue is that ab ba may look mergeable to aa but in actuality it creates abba - invalid and baab -invalid thus Val=0. Creation of full length string and then a final validity check resolves this issue.\u003c/p\u003e\u003cp\u003eAdditional GJam solutions can be found at \u003ca href = \"http://go-hero.net/jam\"\u003eExample GJam Matlab solutions\u003c/a\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Matlab solution. No Valid Matlab solutions were submitted during the contest.\u003c/p\u003e","function_template":"function val=train(s)\r\n% s is a string of strings separated by a space\r\n val=0;\r\n vstr=regexp(s,' ','split');\r\nend","test_suite":"%%\r\ns='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj qqqqqqqqqqqqqnnnnnnnnnnnnnnnnnnnnnnnnnlllllllllllllllhhhhhhhhhhhhhhhhhh ssssvxxxxbbb uuuuuuuuuuuuuuuuuutttttttttttttttttttttttttffffffffffffffffffffffffffffff uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu gggwwwwwwwrrrrrraaaaoooooooppppppyyyyyyyeeeeeeeccccccccccdddddddmmmmmmmzzzzzzkkkk uuuuuuuuuuuuuuuuuuuuuuuuuuuuu';\r\nVexp=1440;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ffvvuaaaaddbbbkzzz yynnneerrrxxxx iiiiiwqssssyy mmmmmmmmmggggggggg llltttpjjhhoo';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='sssssssssssssssssss wwuuunnnmmgggggpzz kkkhhhdddjjqfxxaaye ttttttt oooooooooooooooooooo';\r\nVexp=120;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ssssssssssssssssssss zzkkkkkeuuiii gyyynnffpooxhhhjtt lllllllcccc dddddddwwwwwmmmaaa cccbbbrrrrrrrrrr';\r\nVexp=120;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='uueeennnbbdjjxx oooooooogg sssssaaaaaww iiiiiiiiiiiii yyssss iiiirrrryyyyy ggghhhfiii kkkqqqqzzzzzzzmmmm pppppppppccccc';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='aaaaabbbbcccdddddeeefffffffggggghhiiijjjkkkkklllllmmmmnnnoooopppqqqqrrrsssstttttttuuuuuvvvwwwxyyzzza';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwww sssssssssssssssssssssssssssssssssssssssssssss hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh llllpppppppppeeeeeeejjjjjjjmmmmoooggkkkkdddddbbbxxxxxfffffffvvvvtttaazzzzzzuuuuuuuuucc wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii wwwwwwwwwwwwwwwwwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnniiiiiiiiiiiiiii';\r\nVexp=1440;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='cd bc ab';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ggggggggggggggg hhhhwzziiiiyyyyaaaa gggggggggg bbbbbbbbbbbbbb spjttfllllnncqr kkkkkdddddeeeeevvvvv ggggggg mmmmmmmmmmmmm gggggggggggg';\r\nVexp=17280;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='iilhzzattttdddjjkk wwwwwwwww uuuuuuiiiiiiiiii fggbn xxxxxxxxxxmmmmm';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='tttvvsqqrrrriicccc aaaaaaaaaaaaaaaaaa ggggggggggxxxxxxxxx hheefyyydd zzzzzzzznnnnllllmmmm wwuuuk jjjjj ddddddppppppppp mmmmmmmooooooooo pppppbbbbbbbjjjjjjjj';\r\nVexp=720;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='nnrrsssplye iggwwwwnnnn';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='mmmmmmmmmmmmmmmmmmmmmddddddddddddddddd mmmmmmmmmmmmmmmmmmmmm ddddddddddddddjjjjjjjjjjjjjjrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttt ttttzzzzzzzzvvvvvvvvhhhhhhhhccccllllllllyyyyyyaaaaeeeeeeeeiiiiiiiiii iiiiiiiiwwwwwwwooooooooppppkkkkk';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ttttttttttttttttttttllllllllllllllllllllllllllllccccccccccccccccccccccccccccooooooooooooooooooooooo iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiisssssssssssssssssssssssssssssss bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb gggggxxxxxxrrrrnnnnnnnnmmmmkkkkuuuuuuuuyyyyyhhheeeezzzzffffffffjjjvvvvv bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb qqqqqqqqqqqqqqqqqqqqqqqqqqqqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwddddddddddddddddddddddd';\r\nVexp=17280;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ggggpttt iiiiiiiiii iiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiii fffffffffkkkkkkkkkaa vwwnjssbbbhxxxqqr lllllccccmmuuuuu iiiiiiiiiiiiiiii iiiii';\r\nVexp=14400;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='kavdczugmoesxvalrdmkcpowwxcnhumcfkzakzbdftweqhxmcfrkziqbyoeziuvitserfjiggoubonggswxlkpkoundgmayxiapv';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='abc';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii mmmmmmmmmmmmmmvvvvvvvvvvvvvvvvrrrrrrrrrrrruuuuuuuuuuuuuuussssssssssssssssssnnnnnnnnn ffffkwweeebbbbccctttppjjjggggggaaaayyddddddxxxxxx hhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhh iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhh';\r\nVexp=12;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='cclevhhpn ywuuccc';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='jjjjjjjjjjhhhhhllllllltttttmmmmmmmmmkkkkkkoooyyyyyyyyyyyycccccnnnnzzzzzzssssssbbbbbbbbbbgggggggg uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeee rrrrrrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaaaaaaaaaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq eeeeeeeeeeeeddddddddddddqqqqqqqqqqqqqqqq uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='yyxxxmmmmhhhhhuuuujjlllllliiiiiieeeccccggbzzzzaaafff wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww vvvvsssssskkkknn rrrrrrrrrrrrrrrrrrrrrqqqqqqqqqqqqqqqqqqqqpppppppppppppppppp ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo tttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd';\r\nVexp=10080;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr vvvvvjjjjggggggmmmmmlllllppppppppfffffiiiiiiiidddddddeeeezsssssbbbbbbuuuuu qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='xxxvvvvaaaaylsqqkg ddcccpttmm nnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnn jjjjjuuuuhhhhhhhh ziiiddddd';\r\nVexp=48;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='g i uvbm iog k rdi';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccaallttwniiiiiixxhh rrrrfffffbbeeeuuuuuuuggggggyycccc sssssssssssssssvvvvvvvvvvvvvvrrrrrrrrrrrrrrrrrrr';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrkkkkknnnnnnllsssssssssssssscccccccppppppddddddddmmmmmmwwwwwwqqqqqqiiitttttttjjjjjjjjjjj uuuuuuuuurrrrrrrr';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vzaaappssooookkkkyyyyffbbbwwwiiiiiiiirrrllqqqqeexxddnncg mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccccccccccccccccccccccccccccccccccccccccccccccczzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz wwwwwwwwwwffffffffffffffffppppppppppppppppppccccccccccc';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzzzzttttttttttthhhhhhhxxxxxxbbbbbbbwwwwwwwyyypppooooorrrnnnnnnuuuggaammmmmkkkkkccccvvvvvllllllll iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss';\r\nVexp=40320;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeee hhhhhhhh xxxxxxxxxxxxxxxxxxxx iiiaanwwwrrbbbb hhhhhhhuuuuuuuuuuu dddddddtttttttttiiii gggggggggzzzzzzz qqqqccfvvvoyyykjjmm bblllllppppp';\r\nVexp=720;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ttttttttttttttttttttttttttttttttttttcccccccccccccccccccccccccccccccccccccccc ttttttttttttttttttttttttttttttttttttttttttttttt ccccccccccccccccccccccccccccccc pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp ppppppppppppppppppppp ccccccccccccccccccccccccccccccccccccccccccc pppppppppppppppppppppppppppppppppppppppppppppppppppp pppppppppppppppppppppppppppppppppppppppttttttttttttttttttttttttttttttttttt pppppppppppppppppppppppppppppppppppppp';\r\nVexp=48;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='abc bcd';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeaaaaaaaaaaaadddddddddddddddd zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz wwwwwwvvvvvqqqqqqqqyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyylllllllllllllllluuuuuuuuuuuuuuuuuuuuuuuuuzzzzzzzzzzzzzzzzzzzzzzzzzzzz ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff eeeeeeeeeeeeeeeeeeeee rrrrrrrrrrrrrrrrkkkkkkkkkkkkkkkkkkkkkkkk dnnnnnnnnnpppppxxxxxxffffffff';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='mmmmmmmffffffffffffkkkkkkkkkkkkkkkkkkkdddddddddddddd oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooommmmmmmmmmmmmmmmmmmmmmm';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeennnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';\r\nVexp=720;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ggggggggqqqffffffmmmiiiiiiiuuuuuuueeeeeeyyyyyyddddddddkkkkkkvvvvvvvrrrrppllllllllbbbbbwwwwwwwwjjjjjj xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhzzzzzzzzzzzzzzzzzzzzzzzzzz aaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssstttttttttttttttttttttttnnnnnnnnnnnnnnnnnnnnnn';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbuuuuussfffffvvvkkhhheeeyyyyyjjqqqqqnnn ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd llllllllllllllllllllllllllllllllllllllllwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ggggggmmmmmmmmmmmmiiiiiiiiiaaaaaxxxxxxxxzzzzzzzzzzzooooooooo';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbrrrrrrrrrrrrrrrrrrvvvvvvvvvvvvvvvvvvvvssssssssssssssssssssswwwwwwwwwwwwwwlllllllll uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu qqq yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk cccccccccoooooppppppppppppppjjjjjjjjjjjqqqqqq kkehhhhxxxftiiib qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqddddddddddddddddddddddddddddnnnnnnnnnnnnnnnnnnnnnnnnnnnnn uuuuuuuuuuuuuuuuuuuuuuuuuuuuuccccccccccccccccccccccccccccc nnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmmmmmmggggggggggggggggyyyyyyyyyyyyyyyyyyyyyyyyyy';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjggggggggggggggggggggggggggggggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa hhhhhhhhhhhhhhh zzzzzzzzzzzzzzzzzzzzvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuupppppppppppppooooooooooooooooooooooo hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhh iiiiiiiiiiiiiiiiiiiiiiiiiiiiinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnneeeeeeeeeeeeeeeeeeeeeeeeeeeeeee hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh wwwwccccffffrrqqqqqqbbttttttdddddddxxxllllllllllyyyyyyyymmmmmmkkkkkksssssss';\r\nVexp=86400;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='uuuuuuuyyyyyddddddddqqqqqttttttbbbiiiiiiiaaahhh ooooooooogggggguuuuuuuuuu';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ggggggoooooeeeyjjqqqqqqq mmmmmttttddddddrrraaaaaaaaallllllllzzzzzzzzzzzznnnnnnnnnnnnnnwwwwwwwggggg';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx eeeeeaaaaaaaaaawwwwwwwwwwwwzzzzzzzzzzzzzsssssssssssssssqqqqqqqqyyyyyyyyyyyyyyyvvvvvvvvvvvvvvffff dddddddddddddddddddddddddddddddddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh jjjjjjjjjjjllllllllllllllllllloooooooooooooooooooooooooocccccccccccccccccccrrrrrrrrrrrrrrrrrrrr ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg';\r\nVexp=120;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='aa aa bc';\r\nVexp=4;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='kkkkkkrrynnn vvvvvvvvvvvvvvvvvvvv jhhppibllllddddaooff nqqqwwwwwsss xmmmmmmmtttucc zzzzzzzzzzzzzzzzzzzz eeeeeeeeeeeee';\r\nVexp=720;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='fffffffffffffffffffffffffffffffffffffffffffffffffffffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ccccccccccccccccccccccccccccccc ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyygggggggggggggggggggggggggggggggggggg sssssssshhhhhhhhhhhhhhhhzzzzzzzzzzzzzooo nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnssssssssssssssssssssssssssssssssssssssssssssssss sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss jjjjjxxxxrrriiitttttttwwwwpppppkddddddddqqqqaaaaallllllvvbbuuuuummmm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn';\r\nVexp=120;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuukkkkkkkkkkkkkkkkkkk xxxxxxxxxxxxxvvvvvvvvvvvvvveeeeeeeeeeeeeeeeeegggggggggggg mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ppppppppwwwwwwwiiiiiiiiiqqqqqsssaaaaaaaaalllllllllttttnnnnnnnddddddddhhhhhhhjjjjjjjrrrrroooooooo kkkkkkkkkkkkkkkkkkkkkkk zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzyyyyy cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk';\r\nVexp=240;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrrbbbbbbbbb sslll rrrrsss mmmmmmddddd lllllllooo ooooooommmm';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeee xxmmmmm rrrrrrrrrrrrrr iiiii hhgdddfccbbqqqnniii ppppppppppppppp aayyyy oooooooooooooooooooo wwvsssszzzkkttllljjj uuuuuuuuuuuuuuuu';\r\nVexp=362880;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjj';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='xxxxxxxx xxxxxxx iiavvvvppjjnnnzzzr gkkkuuwwsscccmmmmeed hhhqqqqqqqqqoooooo llllllllxxxxxxx bbyyttttttffffff';\r\nVexp=240;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='kkkkddddmmccssbb ppppppppppppp rryyyyyyqiiezzuhhx wwwwwwwwww ppppppppp aaaaaaooooooooo jjjjjjjjjjjjjjjjjjj ffffffffffffffffffff ggggggggvvvvvvtttttt lllllllnnnnnnnnnnnnn';\r\nVexp=725760;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='aaaaaaaaaaaaaaaaaaavvvvvvvvvvvvvvvvvvvvv vvvvvvvvvvvvqqqqqqqqqqqqqqqkkkkkkkkkmmmmmmmmmm mmmppppppppppppppxxxxxxxxxxxxxxxxxxxxcccccccccyyyyyyyyyyyyyyeeeeeeeeeeeeehhhhhhhhh';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzzzzzccccccccccchhhhhhhhhhffffffffffdddddddddaaaaaaaaavvvvvvvvvvvvvv rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrpppppppppppppmmmmmkkkkkkkkkkooooooooonnnnnnnntttttteeeeeellllljjj';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzzzzzzzzzzzzz nnnffooqqqsdeeegrrmm hhhhhhhhhcccccccccc wwwwwwwwwwuuuuuuuuuu jlllkkkx cccccaaaaapppijjjjj bbbbhhhhhhhhhhhhhh yyyyyyyvvvvvvvvvvvv';\r\nVexp=120;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccccccccccccccc bbbbbbbbbwwwwwwww lllllllllllll peezzzuuiisoodtttfff mmmmmmmmmmmmmmmmm qqqyyyyyyyyyrr';\r\nVexp=720;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='tqqxvveggggccdda oooott';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='qqqqwwooooommhhhhhhhhlllllllsssssddddnnnniiiiiexxxxxxxxxttttffyyyyyyyybbbbbccggggggkkkkk qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='cccccccccccccccfffffffffffffffffffffggggggggggggmmmmmmmmmmmmmmmmmmoooooooooooqqqqqqqqqqqqq uuuuuuuuuuuuuuuuuuuuuuubbbbbbbbbbbbbjjjjjjjjjjjjjdddddddddddddddddd qqqqqqqqqqqqnnnnnnnnnnnnnnnnnnnnnkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaa';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccccccccgggggggggggg wwwwww oooooooooo zzzzzzzzzzzzzzz rrttttttfffmm hhhhhhhhhbbbbvvvvvv xxxlnnpssddddijaoo yyyyyyyyyyyyyyyyy';\r\nVexp=5040;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='p';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='qqqgguuuuctmmmmddjor rrrrrrrrrrrrrrrrrr';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ab ab';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqfffffffffffffffffffffffffffffffffffffffffff rrrrrrllllllllllyyyyyy oooooooooooovvvvvvvvvvvvvvvvvvviiiiiiiwwwwwwwwwwwwwwcccccccccccccc mmmmmmmmmmmmmmmzzzzzkkkkkknnnnnnnnnbbbbbbbbaaaaaaaaaa aaaaaappppppgggggggghhhhhhhhhhhqqqqqqqqqqqqq ttttttttttttttttttjjjjjjjjjjjjjjjjjjjjuuuuuuuuuuuuuuuuuuuuuussssssssssssssssss fffffffeeeeeexxxxxttt yyyyyyyyyyyyyyyyyyyyyyydddddddddddddddmmmmmmmmmmmmmmmmmmmmmm';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='uuuucccccccccccxxxxxxxxxxxxxx nnnnnnnnffffflllllllliiiiiiihhhhhhzzzzzzzzzzzzeeeeeeeeeeqqqqqqq kkkkkkkkkkkkkkkggggggggggggggggggggggaaaaaaaaaaaaaaaaaaaaauuuuuuuuuuuuuuuuuuuuuuuuuuu';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn hhhhkkkkkkkkkkkkkaaaaaaaoooooommeeeeeevvvvvvvvzzzzxxxxxxxxrrrrrrr lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll ccccccccyyyyyuuuuuuiiqqqqqqqqqqddddddjjjjjtttttttbbbbbffffssssswwwwwwwwwgggppppppp';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='mmmmmmiiiii cccccccccccccccccccc hhhhhhhhhhhhhhhhh aooryzzkvvvblffff cccccccpppppqqqqq';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='cccccccccc ccjjill';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='dddrrnnnnnj pppppvvvvmmmmmmoo ttttttttttttttt jjjjjjjjiiiiiiiii uullwaaaagykxxxxbe iiiiiiiiiiizzzzzzz ffffffffffssssssss';\r\nVexp=120;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='abc a a';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='qqeebbccggy uuuuufff snittojvwwwpx ddddaaaaaaaammmmmmm rrrrrrrrrrrr fffllllllhhzzzddddd';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn gggggooojjjuuuummmmrrrrrttppppwwwwwaaaaaahhhhhhfffffkkkbbbbccccceeeezzzvvv nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn';\r\nVexp=80640;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeezzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz nnnnnnnnnnnnnnnsssssssssssssiiiiiiiiiuuuuuuuuuuuuuuuuu lllllllllllllffffffffffvvvvvvvgggggghhhhhhhh bbbbrrrrrqqqqwwwwmmkkkoooooaaayy hhhhhhhhhhhhhxxxxxxxxxxxxxppppppppppppppppppppptttttttttttttttttteeeeeeee';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='gggggggggtttttttqqqqqqxxxxxxxxkkkkkkkkyyyymmmmmmmmmwwwwwwwoooooooooooooeeeeeee pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp ssssssssssssssssssssssssssssssssssssssssssssssssssssssss iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd fffrrraahhhhhlllllccbbbbvvzz jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu';\r\nVexp=362880;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww xxxxxxxxxxxxxxxxxxxxxxxxxxxooooooooooooooooooooooooooooobbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb fffiiaaauuurrrddeevvvhhhhgqqqcccccnnnpyyyyssmmmmtzkkkk jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll';\r\nVexp=120;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='a ca a abc';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='llllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbfffffffffffffffffffffffffffffffffffllllllllllllll vvvvvvvvvvvvvvvjjjjjjjjjjjjjjjjjjjjooooooooodddddddddddddwwwwwwwwwwwwwwnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeepppppppppppppppppppp syyyyyyyytthhhccczzzzrrrrrggqqkkkxxuuuummmmmiii ppppppppppppppppppppppppppppppppbbbbbbbbbb';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='oooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaiiiiiiiiiiiiiiiiiiiiiiiiiii qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq eekrrrwsnnnngggddxczffmmhhhpvvvvttjlllbbb uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='vvvvvvvvvvvvvbbbbbbbbbbbbbbbbbbsssssssssssssfffffffffppppppppppppppplllllllllllllllll ttttzzzzzzzzzyyyyyaaaaooooooiiiiiiiiiinnnjjjjjjjjmmmmdddddddgggcccccxxxxxeeeeeeeeeeqqqqqhhhhrrrrrr';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='xx fffffrrrrrrrrrrrr xssssttwwwf rrr ffffffffff';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='nnnnnnnnnnnnnnnnnnnn ttttttttttt fffffffffffffffffff ffffffffffffffffffff lgggccccbyyy yhaqqqmooo pppkkkeeerrrrrr';\r\nVexp=240;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='aaabbbbccccdddddeeeeeeeeeffgggghiijjjjkkllllllmmmmnnnnnnnopppqqqqqqqqqrrssssttttuuuuvvwwwxxyyyyyzzzz';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ggggjjdddiiiixxxyyy pppppppppppppp ooooooooooooo lllllllllllll ebshuuuufffmaaawvvv ttttttttttttttt zzzzzzzzzzzzzzzzzz cccccccccccccccccccc ppppppppppppppppppp qqqqqqqqqqq';\r\nVexp=725760;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt kkiiiillxxxddwwwwmmmfffqqeeuuhhhnnnnsssssbbbbpppjjya';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='gggggggggggjjjjjjjjjkkkkkktttttttthhhhhyyyyyyyyyyppppppppppaaaafffffffffffffffvvvvvvvrrrrrrrr uuuuuuuuuuuuuqqqqqqqqqbbbbbbbbbbbbdddddddddwwwwwwwwwwwwzzzzzzzxxxxxxxxeeeeeeeeeeeennnnnnnlllllllllll rrrrrrrrrrrrrrrrrrsssssssssssssssmmmmmmmmmmmmmoooooooooooooccccccccccccc';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrzzzzzz wwwwwwwwwwwwwwww uuuuuaaaaaa lllllllllllllllll ggggggggiiiiiiiiii hhhhhhhhhhhhhhhhhhhh qqssjjjmmfttecddd bbbbnnvpyyykkkxxoo';\r\nVexp=40320;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='dddddddddddddddddddddddeeeeeeeeeeeeeeeeeegggggggggjjjjjjjjjjjjjjfffffffffff bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ttttttppppphhaaqqqqqxxxxxiiiiiiuuuuucccccmmmsszzzzznnnnnnn yyyyyyyyyywwwwwwwwwwooooooooooorrrrrrrrrrvvvvvvvvvvvvvvvvvddd kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklllllllllllllllllllllllllllllllllllllllllllllllllllll';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='jw ki ij';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='yooccccgdexxmmrz wwwwwaaaiiiiii lllllllllllllllllll bbbbbbbbnnnn llllll ppppppppppppppppppp kkkhhhhhttttttjjj';\r\nVexp=1440;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuujjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj xxxxxxxxxxxttttttttttttttttaaaaaaaaahhhhhhhhhhhhhhhzzzzzzzzzzzzzzuuuu';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrpppppppp oooooooooooooooooooo ggqqwwwssmmjjahuun';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='yyyyyyyyyyyyyyyyyyyeeeeeeeeeeeeeeeeeeeedddddddddddddddddddrrrrrrrrrrrrr pppppppppppppppppppppppppppppppppppppppppppppppppppppp rrrrrrrrrrrrrrrrrrrrrrrrrvvvvvvvvvvvvvvvvvvvvvvvvvvvv vvvvvvvvzzzzzzzzzzzzzzzzssssssssssssppppppppp xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxooooooooooooooooooooooooooooooooooooooooooooo ppppppppppppppppppp pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp ppppppppppppppppppppppbbbbbbbbbbbbbbbbbbbbbbiiiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxx';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrrrrrrrrrrrrrrrrrrrrrrrrcccccccccccccccccccccccc dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb oooooooooooooooooooooooaaaaaaaaaaaaaaaaaa sssgggggggglllllmmmmttttttttttttzzzjjjjjjjpppphhhhhyyyyyiiiiiixxxxxeeekkkkkkkkkfffffffuuuuuuuuwwwwww vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn';\r\nVexp=5040;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='xxxxxmmmmmwwwwwws yyyyyyqqqqqqqq pppppppppppppppppp llllllllllllllllll vvvvvvvvvvvvvvvvv eeeeeeeeeeeeeeeeeee aaaaaaaaaaaaaaa ggggggggggggggggggg shhhodrrruuutt';\r\nVexp=40320;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj nnnnnnnnnggggggggmmmmmmmaaaaaattttttttttttwwwwwwwweeeeeeeeuuuuuuuuqqqqqqfffffffooooooo zzzzzzzzddddddddddvvvvvvv pppppppxxxxxxxxxxxxxrrrrrrrrrriiiiiiiiiiiiiikkkkkkk ppppppppppppppppppppppppppppppppppppppppppppp yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhhhhhhhhbbbbbbbbbbbbbbbbbbbbbbppppppppppppppppppppppppp';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='cccccccccccc qqqqqqqqqqqqqqqqq rrrrrr yyyyyyyyyyyyyyyy mmmmmmmmmmmmmmmmmmmm rrrrrrrrrrrrrr tttpajjibbuuuzfooo dddddddddddddd ssssswwhhheeelnnkkk rrrrrrrrrr';\r\nVexp=241920;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='uummmmslzaaaddprqqqq kkffff jjjjjjjjjjjjjjjj kkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkk';\r\nVexp=12;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzyyyyyy nnoooooalllkkswwwf fch';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='sssssssssssssssssssssssssssssssssssssssssssssssssssssssaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ttttttttttttttttttss';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='fffffffffffffffffffffffffffffffffffff fffffffoooooosssssssssssdddddddddddddddiiiiiiiiiiiiiiiiiiyyyyyyyyyyyyyyyyyyyyyzzzz zzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff';\r\nVexp=4;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\n% Full GJam solution\r\n% function GJam_Rd1c_bv2\r\n% % \r\n% trial = 1;\r\n% if trial == 1\r\n%     fin = 'B-small-practice.in';\r\n%     fout = 'B-small-practice2.out';\r\n% elseif trial == 2\r\n%     fin = 'B-small-attempt0.in';\r\n%     fout = 'B-small-attempt0.out';\r\n% elseif trial == 3\r\n%     fin = 'B-large-attempt0.in';\r\n%     fout = 'B-large-attempt0.out';\r\n% elseif trial == 4\r\n%     fin = 'B-small-practice_tiny.in';\r\n%     fout = 'B-small-practice_tiny1.out';\r\n%  elseif trial == 5\r\n%     fin = 'B-large-practice.in';\r\n%     fout = 'B-large-practice.out';\r\n% end\r\n% \r\n% [data] = read_file(fin); % \r\n% \r\n% fidG = fopen(fout, 'w');\r\n%  \r\n% tic\r\n% for i=1:size(data,2) % Cell array has N cols of cases\r\n% \r\n%  val=train(data{i});\r\n%  %toc\r\n%  fprintf('Case #%i: %i\\n',i,val);\r\n%  fprintf(fidG,'Case #%i: %i\\n',i,val);\r\n%    \r\n%   \r\n% end\r\n% toc\r\n% \r\n% fclose(fidG);\r\n% end\r\n% \r\n% function val=train(s)\r\n%  val=0;\r\n%  \r\n%  vstr=regexp(s,' ','split');\r\n%  \r\n%  N=size(vstr,2);\r\n%  \r\n%  % create vs, ve, vinternal\r\n%  % check if internals\r\n%  vc=zeros(1,255); % common vector for overlaps\r\n%  \r\n%  for i=1:N  % find starts/ends\r\n%   s1=double(vstr{i});\r\n%   vs(i)=s1(1);\r\n%   ve(i)=s1(end);\r\n%   vc(vs(i))=1;\r\n%   vc(ve(i))=1;\r\n%  end\r\n%  \r\n%  for i=1:N\r\n%   v=double(vstr{i});\r\n%  \r\n%   [valid,vint]=check_vint(v);\r\n%   \r\n%   if ~valid,return;end\r\n%   if any(vc(vint)),return;end % internal elsewhere or internal to a start/end\r\n%   vc(vint)=1;\r\n%   \r\n%  end % i\r\n%  \r\n%  m=[vs' ve'];\r\n%  \r\n%  m=sortrows(m,[1 2]); % sort start then ends within start\r\n%  \r\n%  N=size(m,1);\r\n%  % if two pices have same start or end and neither is an aa then Invalid\r\n%  for c=1:2\r\n%   for i=1:N-1\r\n%    if m(i,1)==m(i,2),continue;end\r\n%    schk=m(i,c);\r\n%    for j=i+1:N\r\n%     if m(j,1)==m(j,2),continue;end\r\n%     if schk==m(j,c),return;end\r\n%    end % j\r\n%   end % i\r\n%  end % c\r\n%  \r\n%  % Cases are valid, at least a 1\r\n%  %Q is PI(Ni!) for the i cases of aaa, bbb,...\r\n%  %val=Q*Z! where Z is number of independent groups\r\n%  \r\n%  val=1;\r\n%  \r\n%  Zptr=N;\r\n%  \r\n%  % Aptr  Zptr    remove aa pairs and multiply by perms of aa sets  \r\n%  while Zptr\u003e1\r\n%   Aptr=Zptr;\r\n%   if m(Zptr,1)==m(Zptr,2) % valid aa event\r\n%    qp=1;\r\n%    while m(Aptr-1,1)==m(Aptr-1,2) \u0026\u0026 m(Aptr-1,1)==m(Zptr,1)\r\n%     Aptr=Aptr-1;\r\n%     qp=qp+1;\r\n%     if Aptr==1,break;end % finished off the pairs\r\n%    end\r\n%    val=val*factorial(qp);\r\n%    m(Aptr+1:Zptr,:)=[];\r\n%   end\r\n%   Zptr=Aptr-1;\r\n%  end % Zptr\r\n%  \r\n%  % reduce m of aa if ba or ca\r\n%  N=size(m,1);\r\n%  for i=N:-1:2\r\n%   if m(i,1)==m(i,2)\r\n%    if any(sum(m==m(i,1))\u003e1)\r\n%     m(i,:)=[];\r\n%    end\r\n%   end\r\n%  end\r\n%  \r\n%  N=size(m,1);\r\n%  for i=N:-1:1\r\n%   z{i}=m(i,:);\r\n%  end\r\n%  \r\n%  \r\n%  % Create blocks  ab bc cd  ef fg gh  to abcd efgh  or ad eh  final m rows !\r\n%  mb=m*0;\r\n%  % create strings adn then check if valid, ab ba is a 0 by abba or baab\r\n%  % check_vint\r\n%  while ~isequal(mb,m)\r\n%   mb=m;\r\n%   N=size(m,1);\r\n%   iptr=N;\r\n%   while iptr\u003e1\r\n%    ptr=find(m(1:iptr-1,1)==m(iptr,2),1,'first'); % check end to starts\r\n%    if ~isempty(ptr)\r\n%     m(ptr,1)=m(iptr,1);\r\n%     m(iptr,:)=[];\r\n%     z{ptr}=[z{iptr} z{ptr}]; \r\n%     z(iptr)=[];\r\n%    else % checkstart to ends\r\n%     ptr=find(m(1:iptr-1,2)==m(iptr,1),1,'first'); % check start to ends\r\n%     if ~isempty(ptr) % start to end\r\n%      m(ptr,2)=m(iptr,2);\r\n%      m(iptr,:)=[];\r\n%      z{ptr}=[z{ptr} z{iptr}]; \r\n%      z(iptr)=[];\r\n%     end\r\n%    end\r\n%    iptr=iptr-1;\r\n%   end % while iptr\r\n%   \r\n%  end % mb m\r\n%  \r\n%  \r\n%  for i=1:size(z,2)\r\n%   [valid,vint]=check_vint(z{i});\r\n%   if ~valid\r\n%    val=0;\r\n%    return;\r\n%   end\r\n%  end\r\n%  %m\r\n%  \r\n%  N=size(m,1);\r\n%  \r\n%  val=val*factorial(N);\r\n%  \r\n% end\r\n% \r\n% function [valid,vint]=check_vint(v)\r\n% % create list of internal elements, may be empty set\r\n% % check if v is self consistent\r\n% % abbbc becomes abc;  aabbcc abc\r\n%  valid=0;\r\n%  \r\n%  dv=diff(v);\r\n%  dv(dv==0)=[]; % remove dupes\r\n%  vp=cumsum([v(1) dv]);\r\n%  \r\n%  if length(vp)\u003e2\r\n%   vint=vp(2:end-1);\r\n%  else\r\n%   vint=[];\r\n%  end\r\n%  \r\n%  if length(vp)==length(unique(vp))\r\n%   valid=1;\r\n%  end\r\n%  \r\n% end\r\n% \r\n% \r\n% function [d] = read_file(fn)\r\n% % Output d{} string of strings separated by a space\r\n% d={};\r\n% fid=fopen(fn);\r\n% fgetl(fid); % Total Count ignore\r\n% ptr=0;\r\n% while ~feof(fid)\r\n%  fgetl(fid); % skip\r\n%  ptr=ptr+1;\r\n%  d{ptr}=fgetl(fid);\r\n% end % feof\r\n%  fclose(fid);\r\n% \r\n% end % read_file\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2014-05-15T14:36:42.000Z","updated_at":"2014-06-11T16:12:51.000Z","published_at":"2014-05-15T15:13:56.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/3004486/dashboard#s=p1\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 Rd 1c: Reordering Train Cars\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e s, string of N space separated string segments of letters [a..z]. 1\u0026lt;=N\u0026lt;=10. Total letters \u0026lt;=100.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e val, number of possible sequences\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Small Case\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ab bbbc cd Val=1 as only abbbbccd can be created\\naa aa bc c Val=4 aa gives 2 positions, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\\nabc bcd    Val=0 as c is internal and thus can not connect to c of abc]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eTheory:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (Spoilers)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA methodical approach implements the following checks: No internal equals any Start/End. Note aaa has no internal. Verify each string has no non-contiguous letters. Verify no two strings have same start or end except where start==end as in bbbb. Val is N! if there are N cc strings. Each string segment is considered a unique piece when counting. Reduce the strings of type aa until there is only one and increase Val by N!. With remaining strings merge to S strings. Val is then scaled by S!. Key merging issue is that ab ba may look mergeable to aa but in actuality it creates abba - invalid and baab -invalid thus Val=0. Creation of full length string and then a final validity check resolves this issue.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAdditional GJam solutions can be found at\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://go-hero.net/jam\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eExample GJam Matlab solutions\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Matlab solution. No Valid Matlab solutions were submitted during the contest.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":2325,"title":"GJam 2014 Rd 1c: Reordering Train Cars (Large)","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/3004486/dashboard#s=p1 GJam 2014 Rd 1c: Reordering Train Cars (Large)\u003e.\r\n\r\nDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous. The large case could have 26! or more permutations.\r\n\r\n*Input:* s, string of N space separated string segments of letters [a..z]. 1\u003c=N\u003c=100. Total letters \u003c=100.\r\n\r\n*Output:* val, number of possible sequences, modulo 1,000,000,007\r\n\r\n*Example:*  Small Train Case examples \r\n\r\n  ab bbbc cd Val=1 as only abbbbccd can be created\r\n  aa aa bc c Val=4 aa gives 2 positions, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\r\n  abc bcd  Val=0 as c is internal and thus can not connect to c of abc\r\n\r\n*Theory:* \u003chttp://www.mathworks.com/matlabcentral/cody/problems/2324-gjam-2014-rd-1c-train-cars Train Small Spoilers\u003e\r\n\r\nLarge Case specific info. See \u003chttp://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow Usage of java math\u003e for unlimited precision. Note intValue gives more precision than floatValue. No java factorial exists so a function, non-recursive, is suggested. The small solution can be converted via java BigInteger factorial, mod, multiply, and intValue to solve the large case.\r\n\r\n\r\nAdditional GJam solutions can be found at \u003chttp://go-hero.net/jam Example GJam Matlab solutions\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Small Matlab solution. No Valid Matlab solutions were submitted during the contest.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 408.3px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 204.15px; transform-origin: 407px 204.15px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 94.5333px 7.91667px; transform-origin: 94.5333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis Challenge is derived from\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://code.google.com/codejam/contest/3004486/dashboard#s=p1\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eGJam 2014 Rd 1c: Reordering Train Cars (Large)\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 373.783px 7.91667px; transform-origin: 373.783px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous. The large case could have 26! or more permutations.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 19.4333px 7.91667px; transform-origin: 19.4333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eInput:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 296.4px 7.91667px; transform-origin: 296.4px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e s, string of N space separated string segments of letters [a..z]. 1\u0026lt;=N\u0026lt;=100. Total letters \u0026lt;=100.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 25.2667px 7.91667px; transform-origin: 25.2667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eOutput:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 183.233px 7.91667px; transform-origin: 183.233px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e val, number of possible sequences, modulo 1,000,000,007\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 31.1167px 7.91667px; transform-origin: 31.1167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eExample:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 87.2667px 7.91667px; transform-origin: 87.2667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e Small Train Case examples\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 61.3px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 30.65px; transform-origin: 404px 30.65px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 184.8px 7.91667px; transform-origin: 184.8px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 11.55px 7.91667px; transform-origin: 11.55px 7.91667px; \"\u003eab \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 173.25px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 173.25px 7.91667px; \"\u003ebbbc cd Val=1 as only abbbbccd can be created\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 327.25px 7.91667px; transform-origin: 327.25px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 11.55px 7.91667px; transform-origin: 11.55px 7.91667px; \"\u003eaa \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 130.9px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 130.9px 7.91667px; \"\u003eaa bc c Val=4 aa gives 2 positions\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 184.8px 7.91667px; transform-origin: 184.8px 7.91667px; \"\u003e, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 261.8px 7.91667px; transform-origin: 261.8px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 15.4px 7.91667px; transform-origin: 15.4px 7.91667px; \"\u003eabc \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 11.55px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 11.55px 7.91667px; \"\u003ebcd\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 7.7px 7.91667px; transform-origin: 7.7px 7.91667px; \"\u003e  \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 227.15px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 227.15px 7.91667px; \"\u003eVal=0 as c is internal and thus can not connect to c of abc\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 25.6667px 7.91667px; transform-origin: 25.6667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eTheory:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://www.mathworks.com/matlabcentral/cody/problems/2324-gjam-2014-rd-1c-train-cars\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eTrain Small Spoilers\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 91.0333px 7.91667px; transform-origin: 91.0333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eLarge Case specific info. See\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eUsage of java math\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 199.05px 7.91667px; transform-origin: 199.05px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e for unlimited precision. Note intValue gives more precision than floatValue. No java factorial exists so a function, non-recursive, is suggested. The small solution can be converted via java BigInteger factorial, mod, multiply, and intValue to solve the large case.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 131.083px 7.91667px; transform-origin: 131.083px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAdditional GJam solutions can be found at\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://go-hero.net/jam\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eExample GJam Matlab solutions\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 139.267px 7.91667px; transform-origin: 139.267px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Small Matlab solution. No Valid Matlab solutions were submitted during the contest.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function val=train(s)\r\n% s is a string of strings separated by a space\r\n val=0;\r\n vstr=regexp(s,' ','split');\r\nend","test_suite":"%%\r\ns='wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww gggggggggggggg ddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddd dddddddddddddddddddddd dddddd dddddddddddddd dddddddddddddddddddddddddddddddddddddddddddd xxxxxxxttttttttteeeeeeppppppppppppllllllliiiiiiiifffffffffffffffmmmmmmmmmmmjjjjjjjhhhhhhhhhh uuuuuuuuubbbbbbcccccccvvvvvvvvvvkkkkkkqqqqqaaayyyyyyooooooooooonnnnnnnnnnnnrrrrrzz dddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddd ddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd';\r\nVexp=728878867;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ggi aaaaaaayy iiiaaaaaaa lllllllgggggg iiiiiooooooooo';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ssssssssssssssssssssbbbbbbbbbbbbbbbbbbbbbbbb ccccccccccc jjjjjjjjjjjjjjjjjjddddddddddddggggggggggggggggg qqqqqqqqqqqqffffffffffffffffffuuuuuuuuuuuuuuaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkmmmmmmmmmmmmmmmmjjjjjjjjjjjjjjjjj cccccccccccccccccccccccccccllllllllllllllllllllllllllkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnzzz bbbbbbbbbbbbbbbbrrrrrrrrrrrrrnnnnnnnnnnnn ggggggggggggggggggggggggggggggggggqqqqqqqqqqqqqqqqqqqqqqqqqqq hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh eeeeeeeeeeeeee zzzzzzzzzzzzzzz aaaaaaaaaaaaaaaaaaaaaaaaappppppppppppppppppppssssssssssssssssssssssss';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='kkkkkkkkkkkkkkkkkkkkk llllaaaaaa gggggggggggghhhhhhhhhhh lllllllllllllllllllllllllllllllllllllll bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb dddddddddddddddddddddddddddddddddddddddddyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy aaaaaaaaa vvvvvvvvvv yyyyyyyyy xxxxxxxx bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb gggggggggggggggggggggggggggg ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss iiiiiiiiiiimmmmmmmmmmmmmmmmmmmm vvvvvvvvvvvvvvvvvvvvvvvvv ssssssssssssssssssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuu vvvvvvvvvvvvvv uuuuuuuuuuuuuuuuuuuiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttteeeeeeeeeeeeeeeeeeeeeeeeee oooooooooooooooooooooooooooooooooooooooooooo nnnnnnnjjjjjjjjjjjjjjjddddddddddd oooooooooooooooooooooooooooooooooooooooooogggggggggggggggggggggggggggggggggggggggg nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ooooooooooooooooooooooooooooooooo vvvvvvvvvvvvvvvvvvvvvvvv bwwwwwwwwoooooo sssssssssssssssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ffffffffffffffffffffffffffffffffffffff kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzbbbbbbbbbbbbbbbbbbbbbbbbbbb ooooooooooo kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx pppppppppppppppppppppppppppppppppppppppppppppppppppppppppp kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv qqqqlllll mmmmmmmmmmmtttttttt uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu ccccccccccccccccccckkkkkkk yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaannnnnnnnnnnnnnn ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk hhhhhhhhhhhhhhhhhhhhhhhhhhrrrrrrrrrrrrrrrrrrqqqqqqqqqqqqqqqqqq';\r\nVexp=265420800;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrrrjjjjjjjjnnnnnnnyyyyyyxxxxxlllltttttttt';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwww yy wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh yyyyyyyyyyyyyyyyyyyyyyyyyyyyyiiiiiiiiiiiiiiiiiiiiiiiiii ggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwww xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx vvvvvvvvvvvvvvvvvv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalllllllllllllllllllllllllllllllllllllllllllllllll aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv nnnnnnnnnnnttttttttttttttttkkkkkkkkkkkkkkkjjjjjjjjjjjjjooooooooooooooooooo bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb wwwwwwwwwwwwwwwwwwwwwwwwwww lllllllllllllllllllllllllllllllgggggggggggggggggggggggggggggg wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww uuuuuuuuuuuuuuuuuuuuuuuuuuuuu wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh yyyyyyyyyyyyyyyyy wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww mmmmmmmmmmmmeeeeeeeeeeeesssssssssdddddddddddzzzzzzzzzzzzzzzzrrrrrrrrrrrrrrrrrffffffqqqqqqqqqqqqqqq bbbbbbbbbbbbbbbbbbbbbbpppppppppppppppppppppppppppppppppyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyy';\r\nVexp=161166448;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttt qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq vvvvvvvvvvvvvvvvvvv lllll vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv jjjjjjjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vv tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttt zzzzzrrrraaaaaasssssssseeeeeegggggggiiiooooooooooooobbbbbbbbkkkkkkkkkkyyyyyyyyyyywwwwwwww tttttttttttttttttttttttttttttttttttttttttttttttt vvvvvvvvvvvvvvvmmmmmmmmmmmmmmmmmmmmmmmmmmmmm tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt lllllllllllllllllllllllllllllllllllllllllllllllllllllll nnnnnnnnnnnnnnnnnnnndddddddddddddddddddddddddddxxxxxxxxxxxxxxxx tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttttttttttttttttttttttttttttttttttttttttttt ffffffffffffffffffffffffffffffffffjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhllllllllllllllllllllllllllllllllllllllllll tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt pppppppppppppppppppppppuuuuuuuuuuuuuuuuuuuuuuuuuuucccccccccccccccccc mmmmmmmmmmmmmmmmmmmmmm mmmmfffffffff jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj tttttttttttttttttttt';\r\nVexp=459335393;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ppppppp aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz ttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ddddddddddddddddpppppppppppppppp hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh xxxxxxxxxxxxxxxxxxxxxxxxxxxx hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaaavvvvvvvvvvvvvvvv yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh pppppppppppppppppppppppppppjjjjjjjjjjjjjjjjjjjjjjjjjjjjj hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhh pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh nnnnnnnooooooooouuuuuuuuuuurrrrrrrrrrrwwwwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh wwwwwwwwwwwwwwwwwwwwwwwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh sssssssssssssssssssssss hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ttttttttttttttt zzzzzzzzzzzzzzzzzzzzz ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ccccccccccccccccceeeeeeeeeeeeeeeeeeemmmmmmmmmmmmmmmmm ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh fffffffffffqqqqqqqqqqqq yyy vvvvvvvvvvvvvvvvvvv xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz aaaaaaaaaaaaaaaaaaaaaaaaaaa jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj zzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzbbbbbbbbbb dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd hhhhhhhhhhhhhhhhhhhhhhh ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd kkkkkkkkkkkkkkkkkkkkkkkkkkkkkzzzzzzzzzzzzzzzzzzzzzzzzzzzzz vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss hhhhhhhh iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ss hhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbsssssssssssss hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh dddddddddddddddddddddddddddddddddddddddd hhhhhhhhhhhhh tttttttttttttttttttttttttttttttttttttttttttttttt bbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhh zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz hhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh';\r\nVexp=893810165;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssssss gggggggggggggggggggggggggggggggggggggg wwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ggggggggggggggggggggggggggggggggggggg qqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwww iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii lllllllllllllllllllllllll ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj lllllllllllllllllyyyyyyyyyyyyyyyy qqqqqqqqqq wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww pppp bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh mmm sssssssssssssssssssssssssllllllllllllllllllll mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm iiiiiiiiigggggg mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii gggggggggqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq fffffffvvvvccccccccccccoooooddddddddd uuuuuuuuuuuuuuuuaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrzzzzzzzzzzzzzzztttttttttttteeeeeeeeeeeeeeeeee ppppppppppppppppppppp hhhhhh ssss ppppppppppppppppppppppppppppppppxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx wwwwwwwwwwwwwwwwwmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkpppppppppppppppppppppppppppppppppppppppppppppppppp xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyy xxxxxxxxxxxxxxxxxxxxjjjjjjjjjjjjjjjjjjj lllllllllllllllllllll mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg wwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk';\r\nVexp=588556762;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii oooooooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbb uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu oooooooooooooooooooooooooooooooooooooooooooo llllllllllllllllllllllllllllllllllllll bbbbbbbbb uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx aaaaaaaaaaaaaaaaa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc oooooooooooooooooo cccccccccccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiii oooooooooooooooooooooooooooooooooooooooo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj iiiiiiiiiiiiii jjjjjjjjjjjjjjjjjjjjjjjwwwwwwwwwwwwwwwwwwwwww ooooooooooooooooooooooooooooooooooooooooooooooo bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbboooooooooooooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa oooooooooooooooooooooooooooooooooooooooooooo iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ccccccccccccccccccccccccccccccccccccccccc bbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaa uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ooooooooooooooooooooo uuuu cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx kkkkkkkkkkkkk uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllll aaaaaaiiiiiiiiiiiiii uuuuuuuuuuuuu kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ccccccccccccccccccccccccccccccccccccccccccccccccckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo iiiiiiii eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb jjjjj kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb jjjjjjjjjjjjjjjjjjjj nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn xxxxxx llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll iiiiiiiiiiiiiiiiiiiiiiiiii nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxeeeeeeeeeeeeeeeeeeee wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww llllllllllllllllllllllllllllllllllllllllllllllllllllllll eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa uuuuuuuuuuuuuuuuuuu oooooooooooooooooooooooooooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee oooooooo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ii iiiiiiiiiiiiiiuuuuuuuuuuuuuuuuuu oooooooooooooooooooooooooooooooo xxxxxxxxxxxxxxxxxxxxxx lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwww aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa llllllllllllllllllllllll eeeeeeeeeeeeeeeeeee lllllllllllllllllllllllllllllllllllllllllllllllll ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc';\r\nVexp=125298902;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='hhhhhhhhhvvvvv kkhh ppmmmmmmmmm zzxxx sssccccccc fffffffqq yyyyyyyeeeeee xxxxxxxxi eeeeeeeeaaaaaaaa jjjppppppp ddddf cccccrrrrrrrr';\r\nVexp=720;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr tttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ppppppppppppppppppppppppppppppppppppppppppppyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz nnnnnnnnnnnnnnnnnnnnnnn qqqqqqqqqqqq llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll yyyyyyyyyyyyyyyyyyyyy ttttttttttttttttttttttttttttttttttttttttttttt zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzppppppppppppppppppppppppppppppppppppppppppp ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy ffffffffffff iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ddddddddddddddddddddddddssssssssssssssssssssssssssssssss qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu zzzzzzzzzzzzzzzzzzz rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr cccccccccccccccccccccccccccccccccccccccccccc rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg aaaaaaaaaaaaaaaaaaaaa pppppppppppppppppppppppppppp yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy ccccccccccccccccccccccccc cccccccccccc aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa iiiiiiiiiiiiiiiiiiivvvvvvvvvvvvvvvvvvvvdddddddddddddddddd cccccccccccccccccaaaaaaaaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwooooooooooooooooooooo yyyyy llllllllllllllbbbbbbbbbbbbbbbbbbbbbuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy fffffffffffffffffffffffffffffffffzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr tttttttttttttttttttttttttttttttttttttttttttffffffffffffffffffffffffffffffffffffffff sssssssssssssssssssssssssss xxxxxxxxxxxxxxxxxxxxxx yyyyyqqqqqqq ffffffffff ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxx gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq ooooooooooooooooooooooooooooooooooooo rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr xxxxxxxxxxxxxxxxxxxxxxxxxxxxxeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii qqqqqqqqqqqqqqqqqqqqqqqqnnnnnnnnnnnnnnnnnnnn jjjjjjj ssssssssssssssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy jjjjjjjjjjjjjjjjjjjjjjjjjjjjjcccccccccccccccccccccccccccccccccc tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ggggggggggggggggggggggggggllllllllllllllll aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc qqqqqqqqqqqqqqqqqqqqqqqqq rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ssssssss cccccccccccccccccccccccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj tttttttttttttt iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx jjjjjjjjjjjjjjjjjjjjjj';\r\nVexp=45590719;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh mmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmm mmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll xxxxxxvvvvvvvvvvvvvoooooojjjjjjjjaaaaaaaffffffffppppppppyyyyyykkkkkkkkkqqqqqqqqqqrrrrrr mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm wwwwwwwnnnneeeeeeesssssuuuuuuuuuudddddddddiiiiiiii mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmm mmmmmmmmmmmmmmm ggggggggggggggggggggggggggggggcccccccccccccccccccccccccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt';\r\nVexp=757993753;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg gggggggggggggggggggggggggggggggg iihhhhhhaaaaaaaaallmmmmmeeedddddbbbbbbppssssssoooovvvvvvffffftttttttttqqqqqkkkkkknnnnn uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu rrrrrrrrrrrrrrrrrrrrrrrrrr gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggg gggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggg rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwww';\r\nVexp=16857327;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccccccccccccccccccccccccccccccccccccccc zzzzzzzzzzzzzzzzzzzzzzzzzzzzzrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr llllllllllllllllllllllllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll tttttttttttaaaaaaaaakkkkkk qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq ccccccccccc uuuuuuuuuujjjjjjjssssssssssssss llll llllllllllllllllllllllllll cccccccccc lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc yyyyyyyyypppppppffffffffffxxxxxxxxxxxxxxiiiiiiiiiiiiiii hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh lllllllllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll hhhhhhhhhhhhhhhhhhhhh ccccccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz cccccccccccccccccccccccccccccccccccccccc hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn kkkggggggggeeeeeeeeeeeeeeeeeoooddddddddddwwwwwmmmmmmmmm bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz cccccccccccccccccc llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb';\r\nVexp=539156306;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa sssssssssssssbbbbbbbbbbbbbbbb nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn sssssssssssssssssssssss bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb eeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ssssssssssssssssssssssssssssssssssss nnnnnnnnnnnnn ssssssssssssssssssssssssssssssssssssssssssssss eeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbb sssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn aaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa nnnnnnnnnnnnnnnn sssssss bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa sssssssssssssssssssssssssssssssssssss bbbbbbbbbbbbbbbbbbbbbbbb nnnnnnnnnnnnneeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ssssssssssssssssssssssssssssssssssss nnnn bbbbbbbbbbbbbbbbbbbnnnnnnnnnnnnnnnnn ssssssssssssssssssssssssssssssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnn ssssssssssssss bbbb ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss sssss sssss sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn sssssssssssssssssssssssssssssssss nnnnn aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaa';\r\nVexp=392523621;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc llllllll llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll wwwwwwwwzzzzzzzzzzzzzeeeeeeeeeeuuuuuuuuvvvvvvvvvvvvvvrrrrrrrrrrtttttttttttttt llllllllllllllllllllllllllllllllllllllllllllllllllllllllll ttttttthhhhhmmmmmmmmmqqqqqqqqqqqqqq ccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccc lllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllll llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll bbbbbbbppyyyyyyiiisssssssnnnff ccccccccccccc llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll llllllllllllllllllllllllllll xxxxxjjjjjjddddaaaaaakkkkkkkkk cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllllllllllllllllllllllllllllll llllllllllllll lllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccclllllllllllllllllllllllllllllllllllll ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccc lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccc tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccc';\r\nVexp=981953933;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='wwwwwwwwwwhhhhhhhhhh zzzzzzzzzzzzzzzzzzzzvvvvvvvvvvvvvvvaaaaaaaaaaaaaaaaaaaaaaiiiiiiiiiiiiiiiiiii kkkkkkkkkkkkkkkkkkkkk uuuuuuuuuuuuu jjjjjjjjjjjjjjjjjjjjjjjjjjjjjbbbbbbbbbbbbbbbb kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuuuuuuuuuujjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkk uuuuuuuuuuuuuuuuuu mmmmmmmmmmmmmmmmmmmmmmmpppppppppppppppp kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee jjjjjjjjjjjjjj eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbqqqqqqqqqqqqqqqqqqqq jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk uuuuuuuuuuuuuuuuuu qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq lllllnnnnnnnnnnnnnnnnn nnnnn wwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq wwwwwwwwwwwwwwwwwwww kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk xxxxxxxxxrrrrrrrrrgggggggggggggffffffffftttttttccccccccccccccccoooooooddddyyyyy eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww jjj uu bbbbbbbbbbbbbbbbbbb qqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeelllllllllllllllllllllllllllllllllllllllllllll bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww';\r\nVexp=310957976;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='aabbbbbcccddeeeeeeeefffgggggghhhhiiiiiiiijjkkkkklllmmmmmmmnnnooooppppppqqrrsssttuuuuuuuvvvvwxxyyyyya';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbbbbbbbbbbbb lllllllllllllllllllllllllllllllllllllllllll hhhhhhhhhhhhhhhhhhh kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt aaaa hhhhhhhhhhhhhhhhhh iiiiiiiiiiiiiiiiiiiiiiiiiiyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbb llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll nnnnnnnnnnnnnnnnnnnnnnnnnnn hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu hhhh jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb qqqqqqsssssspppppppppmmmmmmfffffffff vvvvvvvooooooooooowwwwwwwwwwwccccccccrrrrrrrrrrddddddddddddddddddd xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ttttttttttttttttttttttttttttttttttttttttttttttttttttt uuuuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh nnnnnnnn hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhh hhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhh uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh llllaa gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh nnnnnneeeeeeeeettt bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb tttttttttttttttttt zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz hhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb uuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbb nnnnnnnnnnnnnnnnnnnnnnnnnnn tttttttttttttttttttttttttttttttttttt uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzlllllllllllllllllllllllllllllllllllllllllll hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh kkkkkkkkkkkkkkkkkkk bbbbbbbbbbbbbbbbbbbbbbb uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh uuuuuuuuuuuuuuu aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn gggggggggggggggggggggggggggggggggggzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb';\r\nVexp=236753019;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq dddddddlllllllllllllll xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhkkkkkkkkkkkkkkkkkkkkk aaaaaaaaaaaaaaaaaaaaaaaaaaaccccccccccccccccccccc gggggggggggggggggggggggggggggggggggggddddddddddddddddddddddddddddddddddddddd ttttttttttttttttttttttttttttiiiiiiiiiiiiiiiii llllllllllllllllllhhhhhhhhhhhhhhhhhhhhhh rrrrrrrrrrrrrrrrrzzzzzzzzzzzzz kkkkkkkwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnyyyyyyyyyyyyy iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ppppppppppppppppppppppppppppppppppppppppppxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx qqqqqqqqqqqqqqqqqqqqbbbbbbbbbbbbbbbbbbbbbbssssssssssssssssssssssssssssssssss sssssssssssssss oooo ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp mmmmmmmmmmmm ffffffeegggggggg iiiiiiiiiiiivvvvvvvvvvvvv yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvfffffffffffffffffffffffffffffffffffffffffffffff xxxxxxxxxxxxxxxxxxxxxxxxx oooooorr ffffffffffffffffff pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp xxxxxxxxxx ooooooooooooooooooooooo mmmmmmmmmmmmmmmmmmmmmmoooooooooooooooooooooooooooooo';\r\nVexp=48;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeee dduuknnnbbyyysssssqqmmfrrrrrraaaacczzziiiiigggggxxxllllp eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj vvvvvvvvvvvvvvvvvvvvvvhhhhhhhhhhhhhhhhhhhhhhhttttttttttttttttttttttttttt eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww eeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';\r\nVexp=901255609;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ccccccccccccccccccccccc yyynnttooppphhhiiiwwllllggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv cccccccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss kkkkmmmmmmm uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu fffffffffffff ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa sssssssssssssssssssssssssssssssssssssssssssssssssssss kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk sssssssssssss ccccccccccccccccccccccccccccccccccccccccccccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjccccccccccccccccccccccccccccccccccccccccccc xxxxxxxxxxxxxxxddddddddddddddrrrrrrrrrrrrrrrrrrrrrrrqqqqqqqqqeeeeeeeeeeeee kkkkkkkkkkkkkkkkkkkkkkkkkkkkk ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ssssssssssssssssssssssssssssssssssssssssssssssssssssssss mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk zzzzzzzzzzzzzzzzzz kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmzzzzzzzzzzzzzzzzzzzzzzzzzz';\r\nVexp=654434779;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrr rrrrrrrrrrrrrrrrrrrrrrr pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp tttttttttttttttttttttttttttttttt lllllllllllllllllllllllllllllllllllllllllllllllllllllllll ttttttttttttttttttttttttttttttttttttttttttttttttttttt vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv gggggggggggggghhhhhhhhhhhhhhhhhxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj lllllllllllllllllllllllllllllll vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttttttttttttttttttttttttttttttttt rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ttttttttttttt qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttttt ttttttttttttttttttttttttttttttttttttttttttttttttttttttt rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrr jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll ppppppppppppppppppppppppppppp jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww tttttttttttttttttttttttttttttttttttt ooooooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii rrrrr pppppppppppppp iiiiiiiiiiiiiiiiiiiiiii lllllllllllllll tttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr lllllllllllllllllllllllllllll vvw llllllllllllllllllllllllllllllllllll pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr llllllllllllllllllllllllllllllllllllllllllllllllliiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii dddddddddddddddbbbbbbbbbbbbbbbbeeeeeeeeeeeeeeeeeeeyyyyyyyyyyyysssssssssssssssssssss mmmmmmmmmmmmmmmmmmmmmmmaaaaaaaaaaaaaaaaaaa ppppp vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr jjjjjjjjjjjjjjjjjjjjjjjjjjjj rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt nnnnnnnnnnnnnnnnuuuuuuuuuuuuuuuzzzzzzzzzzzzzzzzzzzzzz gggggggggggg tttttttttttttttttttttttttttttttttttttttttttttt rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwpppppp iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww jjjjjjjjjjj wwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww lllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccfffffffffffffffff llllllllllllllllllllllllllllllllllllllll tttttttttttttt pppppppppppppppppppppppppppppppppppppppp wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt jjjjjjjjjjjj ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo tttttttttttttttttttttttttttt zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzgggggggggggggggggggggggggggggggggggggggg rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ttttttttttttttttttttttttttttttttttttttttttttttt llllllllllllllllllllllllllllllllllllllllllllllllll vvvvvvvvvv';\r\nVexp=977338612;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ccccccccccccccccccccccccccccccccccccccccccccccc ffffffffffffffffffffffffffffffffffffffffffffffffffpppppppppppppppppppppppppppppppppppppppppppppp cccccccccccccccccccccccjjjjjjjjjjj ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp ccc pppppppppppppppppppppppppppppppppppsssssssssssssssssssssssssssssssssssssss ppppppppppppppppppppppppppp eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ssssssssssss iiiiiccccccccc jjjjjjffffffffffff ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ppppppppppppppppppppppppppppppppppppppppppppp ssssssssssssssssssssssssssssseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp eeeeeeeeeeeemmmmmmmmm iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii';\r\nVexp=864;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj aaaaa ooooooooooooooooooo mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm nnnn sssssssssssssssssssssssssssssssssssssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn gggggggggggggggggggggggggggggggggggggggggggggggggggggg aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj aaaaaaaaaaaaa jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmm eeeeeeewwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo aaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz nnnnnnnnnnnnnnnnn lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ppppppppppppppppppppppppppppppppppppppppppppppgggggggggggggggggggggggggggggggggggggggggggggggggggggg ttttttttttttttttttttttttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd fffffffffffffffffffffffffffffffffffffff cceee ooooooooooooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ffffffffffffffffffffffffffffffffffffffffffffttttttttttttttttttttttttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp lllllllllllllllllllllllllllllllllllllllllllll fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp ttttttttttttttttttttsssssssssssssssssssssssssssssssssssssssss wwwwwwwwwwwwwwhhhhhhhhhhhhhhhhllllllll aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ggggggggggggggggggggggggggggggggggggggggggggggggg aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ooooooooooooooooooooovvvvvvvvvvvvvvvvvvv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa iiiiiiiiiiiiiiiiiiiiiiippppppppp cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv yyyyyyyyyyyyyyyyyyyyyyyyffffffffffffffffffffffffffffffffffffffffffffff aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa fffffffff mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ggggggcccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm aaaaaaaaaaaaaaaaaaaaaaaaaaa kkkkkkkkkkkkkkkkkkkkkkkrrrrrrrrrrrrrrrrrrrrrrrrrr uuuuuuuuuuuuuiiiiiiiiii nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy mmmmmmmmmmmmmmm aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx iiiiiiiii';\r\nVexp=702191236;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='oooooooooooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbblllllllllllllllllzzzzzzzzzzzvvvvvvvvvvvvvvvvqqqqqqqqqqqkkkkkkkkkkkkkhhhhhhhhhhhhhhh eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee iiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee fffffffffffffffffffffffffffuuuuuuuuuuuuuuuuuuuuuuuu nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn rrrrrrrrrrrrrtttttttttttttmmmmmmmmmmmmccccccccyyyyyyyywwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii pppppppppppppppsssssssssssssssssssjjjjjjjjjjjjjjjjjddddddddddddddddxxxxxxxxxxxxxxxx nnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';\r\nVexp=880614102;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww vvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwww rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwgggggg nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn gggggggggggggg nnnnnnnnnnnnnnnnnnnnnnnnnn vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww zzzzzzzzzzzzzzzdddddddddddddddddddddyyyyyyyyyyyyyy jjjttttxxxxhhfffllllllqqqqqiiiiiimmmmmmmmuueeeeccccsssooookkkkppppppaabbbbbb vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv nnnnnnnnnnnnnnnnnnnnnnnnnn vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww';\r\nVexp=101045724;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\n%s='jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeexxxxxxxxxxxxxxxxxxxxxxxx bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb yyyyyyyyyyyyyyyykkkkkkkkkk mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww oooo ggggggggggggggggyyyyyyyyyyyyyyy iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb iiiiiiii ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc hhhhhhhhhhhhhhggggggg hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh wwwwwaaaaaaa rrrrrrrrrrrrrrrr hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ooojjjjjjj rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ddddddddddddddddddddddddddddddddddddddddd iiiiiiiiiiiiiiiiiiiiiiiiiiiii","published":true,"deleted":false,"likes_count":1,"comments_count":2,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":2,"test_suite_updated_at":"2020-10-01T17:08:50.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2014-05-15T21:15:21.000Z","updated_at":"2020-10-01T17:08:50.000Z","published_at":"2014-05-15T21:59:11.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/3004486/dashboard#s=p1\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 Rd 1c: Reordering Train Cars (Large)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous. The large case could have 26! or more permutations.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e s, string of N space separated string segments of letters [a..z]. 1\u0026lt;=N\u0026lt;=100. Total letters \u0026lt;=100.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e val, number of possible sequences, modulo 1,000,000,007\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Small Train Case examples\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ab bbbc cd Val=1 as only abbbbccd can be created\\naa aa bc c Val=4 aa gives 2 positions, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\\nabc bcd  Val=0 as c is internal and thus can not connect to c of abc]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eTheory:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/2324-gjam-2014-rd-1c-train-cars\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTrain Small Spoilers\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eLarge Case specific info. See\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eUsage of java math\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e for unlimited precision. Note intValue gives more precision than floatValue. No java factorial exists so a function, non-recursive, is suggested. The small solution can be converted via java BigInteger factorial, mod, multiply, and intValue to solve the large case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAdditional GJam solutions can be found at\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://go-hero.net/jam\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eExample GJam Matlab solutions\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Small Matlab solution. No Valid Matlab solutions were submitted during the contest.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":2291,"title":"GJam 2014 Qualifier: Deceitful War (Small)","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/2974486/dashboard#s=p3 GJam 2014 Qualifier Deceitful War\u003e.\r\n\r\nMy condensed summary of the problem statement.\r\n\r\nGiven two players, A and B, they are each given N masses. All masses are unique. Player A plays first on each comparison and states a Mass. Player B then plays a Mass. The player with the higher mass wins a point after they are compared on a scale. These masses then disappear. This repeats for all N masses. There are no constraints on the order of pieces played.\r\n\r\nUnsurprisingly when A truthfully states masses player B consistently wins.\r\n\r\nPlayer A, discouraged, decides to cheat. After the masses are provided player A asks B get A a drink and while B is away A looks at B's masses. Player A now plays pieces but does not necessarily honestly state the mass values. All scale comparisons must be valid based on B's strategy and A's stated mass. Player A now achieves more wins.\r\n\r\nPart one is determine the best possible score for A when playing deceitfully.\r\n\r\nPart two is determine the best possible score if player A did not look and is honest.\r\n\r\n*Examples:*\r\n\r\n  A: 0.5 0.1 0.9  B 0.6 0.4 0.3  Deceitful Wins 2, Optimal Honest 1\r\n  \r\n  A 0.186 0.389 0.907 0.832 0.959 0.557 0.300 0.992 0.899\r\n  B 0.916 0.728 0.271 0.520 0.700 0.521 0.215 0.341 0.458\r\n  Deceitful A Wins 8\r\n  Optimal Honest A Wins 4\r\n\r\n*Input:* A,B vectors of length N (Small has N\u003c=10, Large(future challenge N\u003c=1000)\r\n\r\n*Output:* Deceitful Wins, Optimal Honest Wins\r\n\r\n\r\n\r\n\r\n\r\n*Note:*\r\n\r\nIn the contest period there were 30 Matlab solutions, of which I was not one as I glitched on the easy Deceitful algorithm thinking my Honest algorithm was in error. \u003chttp://www.go-hero.net/jam/14/solutions/0/4/MATLAB GJam Deceitful Solutions\u003e. My post contest full GJam is in the test suite. About 11000 out of 28000 entrants solved this puzzle.","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/2974486/dashboard#s=p3\"\u003eGJam 2014 Qualifier Deceitful War\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eMy condensed summary of the problem statement.\u003c/p\u003e\u003cp\u003eGiven two players, A and B, they are each given N masses. All masses are unique. Player A plays first on each comparison and states a Mass. Player B then plays a Mass. The player with the higher mass wins a point after they are compared on a scale. These masses then disappear. This repeats for all N masses. There are no constraints on the order of pieces played.\u003c/p\u003e\u003cp\u003eUnsurprisingly when A truthfully states masses player B consistently wins.\u003c/p\u003e\u003cp\u003ePlayer A, discouraged, decides to cheat. After the masses are provided player A asks B get A a drink and while B is away A looks at B's masses. Player A now plays pieces but does not necessarily honestly state the mass values. All scale comparisons must be valid based on B's strategy and A's stated mass. Player A now achieves more wins.\u003c/p\u003e\u003cp\u003ePart one is determine the best possible score for A when playing deceitfully.\u003c/p\u003e\u003cp\u003ePart two is determine the best possible score if player A did not look and is honest.\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eA: 0.5 0.1 0.9  B 0.6 0.4 0.3  Deceitful Wins 2, Optimal Honest 1\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003eA 0.186 0.389 0.907 0.832 0.959 0.557 0.300 0.992 0.899\r\nB 0.916 0.728 0.271 0.520 0.700 0.521 0.215 0.341 0.458\r\nDeceitful A Wins 8\r\nOptimal Honest A Wins 4\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e A,B vectors of length N (Small has N\u0026lt;=10, Large(future challenge N\u0026lt;=1000)\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Deceitful Wins, Optimal Honest Wins\u003c/p\u003e\u003cp\u003e\u003cb\u003eNote:\u003c/b\u003e\u003c/p\u003e\u003cp\u003eIn the contest period there were 30 Matlab solutions, of which I was not one as I glitched on the easy Deceitful algorithm thinking my Honest algorithm was in error. \u003ca href = \"http://www.go-hero.net/jam/14/solutions/0/4/MATLAB\"\u003eGJam Deceitful Solutions\u003c/a\u003e. My post contest full GJam is in the test suite. About 11000 out of 28000 entrants solved this puzzle.\u003c/p\u003e","function_template":"function W = War(m)\r\n% W=[Deceitful Wins, Optimal Honest Wins]\r\n  W=[0 0];\r\nend","test_suite":"%%\r\nm=[0.270000 0.550000 0.910000 0.330000 0.520000 0.300000 ;0.850000 0.450000 0.060000 0.240000 0.120000 0.880000 ];\r\nWexp=[5 3];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.164000 0.255000 0.009000 0.445000 0.209000 0.100000 0.391000 0.536000 0.027000 0.118000 ;0.673000 0.782000 0.582000 0.882000 0.591000 0.855000 0.745000 0.955000 0.991000 0.600000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.800000 0.480000 0.760000 0.680000 0.160000 0.640000 0.360000 ;0.200000 0.440000 0.960000 0.280000 0.880000 0.520000 0.120000 ];\r\nWexp=[5 2];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.170000 0.100000 0.120000 0.200000 0.540000 0.150000 ;0.490000 0.070000 0.240000 0.680000 0.610000 0.340000 ];\r\nWexp=[2 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.780000 0.770000 0.900000 0.810000 0.880000 0.840000 0.600000 0.730000 0.930000 0.990000 ;0.270000 0.150000 0.260000 0.510000 0.570000 0.310000 0.170000 0.140000 0.400000 0.040000 ];\r\nWexp=[10 10];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.320000 0.820000 0.350000 0.770000 0.020000 0.550000 0.040000 0.990000 0.610000 0.190000 ;0.730000 0.530000 0.750000 0.800000 0.670000 0.870000 0.330000 0.250000 0.080000 0.680000 ];\r\nWexp=[7 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.510000 0.100000 0.380000 0.050000 0.210000 0.130000 0.440000 0.180000 ;0.560000 0.920000 0.540000 0.900000 0.670000 0.790000 0.820000 0.970000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.420000 ;0.080000 ];\r\nWexp=[1 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.690000 0.310000 0.540000 0.230000 0.710000 0.030000 0.490000 0.600000 0.510000 0.860000 ;0.830000 0.340000 0.370000 0.740000 0.430000 0.200000 0.090000 0.170000 0.910000 0.400000 ];\r\nWexp=[8 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.300000 0.920000 0.710000 0.130000 0.230000 0.620000 0.140000 0.260000 0.360000 0.310000 ;0.440000 0.010000 0.640000 0.350000 0.820000 0.550000 0.780000 0.790000 0.060000 0.570000 ];\r\nWexp=[6 2];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.504000 0.218000 0.479000 0.101000 0.050000 0.445000 0.471000 0.084000 0.034000 0.008000 ;0.992000 0.546000 0.647000 0.849000 0.891000 0.739000 0.765000 0.555000 0.613000 0.748000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.570000 0.470000 0.640000 0.550000 0.060000 0.430000 0.040000 0.280000 0.130000 0.510000 ;0.700000 0.740000 0.770000 0.810000 0.870000 0.790000 0.940000 0.910000 0.850000 0.660000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.200000 0.020000 0.510000 0.120000 0.220000 0.250000 0.100000 0.490000 0.530000 0.350000 ;0.800000 0.960000 0.760000 0.820000 0.710000 0.570000 0.940000 0.690000 0.900000 0.550000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.260000 0.030000 0.360000 0.410000 0.330000 0.430000 0.540000 0.300000 0.280000 0.100000 ;0.770000 0.910000 0.700000 0.550000 0.590000 0.780000 0.650000 0.860000 0.750000 0.990000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.920000 0.370000 0.900000 0.200000 0.150000 0.020000 0.530000 0.860000 0.250000 0.190000 ;0.170000 0.980000 0.140000 0.680000 0.830000 0.470000 0.950000 0.340000 0.880000 0.540000 ];\r\nWexp=[7 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.510000 0.020000 0.490000 0.280000 0.080000 0.830000 0.170000 0.140000 0.850000 ;0.420000 0.650000 0.950000 0.890000 0.030000 0.580000 0.380000 0.060000 0.370000 ];\r\nWexp=[6 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.670000 0.050000 0.590000 0.330000 0.820000 0.030000 0.740000 0.560000 0.950000 0.620000 ;0.210000 0.380000 0.770000 0.080000 0.260000 0.640000 0.460000 0.790000 0.310000 0.410000 ];\r\nWexp=[8 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.840000 0.800000 0.420000 0.580000 0.670000 0.070000 0.360000 ;0.690000 0.870000 0.310000 0.600000 0.760000 0.200000 0.380000 ];\r\nWexp=[6 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.450000 0.380000 0.280000 0.590000 0.620000 0.230000 0.810000 ;0.320000 0.190000 0.680000 0.140000 0.090000 0.940000 0.170000 ];\r\nWexp=[6 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.207000 0.288000 0.180000 0.595000 0.748000 0.459000 0.802000 0.387000 0.027000 0.090000 ;0.450000 0.982000 0.694000 0.613000 0.486000 0.423000 0.685000 0.847000 0.432000 0.604000 ];\r\nWexp=[4 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.750000 0.970000 0.820000 0.840000 0.680000 0.780000 0.730000 0.270000 0.220000 0.150000 ;0.130000 0.920000 0.390000 0.320000 0.230000 0.080000 0.800000 0.330000 0.720000 0.590000 ];\r\nWexp=[10 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.260000 0.140000 0.600000 0.950000 0.160000 0.650000 0.580000 0.910000 0.230000 0.020000 ;0.120000 0.510000 0.530000 0.280000 0.350000 0.070000 0.400000 0.930000 0.490000 0.090000 ];\r\nWexp=[8 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.545000 0.527000 0.500000 0.727000 0.018000 0.400000 0.191000 0.982000 0.409000 0.591000 ;0.945000 0.745000 0.355000 0.673000 0.045000 0.118000 0.682000 0.827000 0.645000 0.482000 ];\r\nWexp=[6 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.930000 0.980000 0.470000 0.810000 0.830000 0.460000 0.510000 0.540000 ;0.490000 0.640000 0.170000 0.290000 0.140000 0.440000 0.590000 0.760000 ];\r\nWexp=[8 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.580000 ;0.330000 ];\r\nWexp=[1 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.640000 0.820000 0.700000 0.480000 0.520000 0.610000 0.060000 0.240000 0.300000 ;0.550000 0.450000 0.090000 0.030000 0.850000 0.670000 0.760000 0.360000 0.790000 ];\r\nWexp=[7 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.800000 ;0.900000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.340000 0.100000 0.040000 0.110000 0.650000 0.250000 0.570000 0.480000 0.150000 0.800000 ;0.550000 0.020000 0.920000 0.080000 0.700000 0.360000 0.910000 0.710000 0.820000 0.850000 ];\r\nWexp=[5 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.340000 0.890000 0.060000 0.090000 0.750000 0.730000 0.810000 0.950000 0.660000 0.390000 ;0.530000 0.970000 0.610000 0.670000 0.690000 0.380000 0.590000 0.300000 0.720000 0.110000 ];\r\nWexp=[8 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.870000 0.600000 0.860000 0.830000 0.680000 0.810000 0.700000 0.920000 0.760000 ;0.170000 0.510000 0.330000 0.050000 0.240000 0.030000 0.410000 0.480000 0.520000 ];\r\nWexp=[9 9];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.940000 0.720000 0.810000 0.220000 0.280000 0.530000 0.440000 0.160000 0.880000 0.970000 ;0.120000 0.030000 0.470000 0.560000 0.380000 0.340000 0.690000 0.090000 0.250000 0.750000 ];\r\nWexp=[10 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.410000 0.360000 0.230000 0.140000 0.180000 0.050000 0.500000 0.270000 0.090000 0.450000 ;0.680000 0.950000 0.910000 0.860000 0.730000 0.550000 0.590000 0.820000 0.640000 0.770000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.278000 0.852000 0.370000 0.824000 0.389000 0.704000 0.546000 0.204000 0.296000 0.056000 ;0.833000 0.315000 0.991000 0.028000 0.907000 0.630000 0.361000 0.037000 0.065000 0.954000 ];\r\nWexp=[7 2];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.713000 0.657000 0.778000 0.435000 0.565000 0.870000 0.963000 0.343000 0.481000 0.593000 ;0.287000 0.333000 0.454000 0.130000 0.370000 0.759000 0.176000 0.611000 0.231000 0.398000 ];\r\nWexp=[10 6];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.590000 0.750000 0.650000 0.900000 0.740000 0.880000 0.850000 ;0.400000 0.070000 0.540000 0.380000 0.570000 0.150000 0.490000 ];\r\nWexp=[7 7];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.110000 0.920000 0.540000 0.840000 0.380000 0.770000 0.900000 0.490000 0.870000 0.750000 ;0.620000 0.480000 0.330000 0.440000 0.890000 0.130000 0.430000 0.080000 0.340000 0.560000 ];\r\nWexp=[10 5];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.480000 0.650000 0.770000 0.690000 0.720000 0.560000 0.660000 0.550000 0.510000 0.730000 ;0.310000 0.440000 0.300000 0.060000 0.200000 0.420000 0.030000 0.070000 0.110000 0.140000 ];\r\nWexp=[10 10];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.900000 0.680000 0.600000 0.800000 ;0.350000 0.050000 0.170000 0.880000 ];\r\nWexp=[4 3];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.730000 0.910000 0.450000 0.640000 0.090000 ;0.550000 0.360000 0.270000 0.820000 0.180000 ];\r\nWexp=[4 2];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.530000 0.740000 0.410000 0.320000 0.820000 0.970000 0.620000 0.500000 0.710000 0.090000 ;0.180000 0.760000 0.380000 0.150000 0.470000 0.210000 0.560000 0.120000 0.590000 0.440000 ];\r\nWexp=[9 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.487000 0.092000 0.714000 0.160000 0.504000 0.277000 0.479000 0.605000 0.462000 0.832000 ;0.210000 0.824000 0.118000 0.387000 0.664000 0.874000 0.445000 0.739000 0.546000 0.017000 ];\r\nWexp=[8 2];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.100000 ;0.400000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.688000 0.872000 0.615000 0.477000 0.734000 0.624000 0.394000 0.532000 0.954000 0.817000 ;0.193000 0.119000 0.349000 0.073000 0.037000 0.009000 0.128000 0.303000 0.046000 0.064000 ];\r\nWexp=[10 10];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.910000 0.550000 0.300000 0.570000 0.920000 0.400000 0.450000 0.150000 0.110000 0.190000 ;0.090000 0.790000 0.890000 0.740000 0.850000 0.940000 0.340000 0.380000 0.720000 0.260000 ];\r\nWexp=[6 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.723000 0.639000 0.824000 0.697000 0.840000 0.882000 0.437000 0.782000 0.588000 0.218000 ;0.345000 0.151000 0.067000 0.849000 0.815000 0.235000 0.521000 0.765000 0.950000 0.681000 ];\r\nWexp=[9 3];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.200000 0.150000 0.350000 0.090000 0.110000 0.330000 0.220000 ;0.390000 0.460000 0.850000 0.700000 0.570000 0.610000 0.500000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.850000 0.790000 0.550000 0.380000 0.300000 0.400000 0.770000 0.740000 0.320000 0.570000 ;0.260000 0.210000 0.110000 0.130000 0.020000 0.040000 0.230000 0.190000 0.090000 0.060000 ];\r\nWexp=[10 10];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.961000 0.330000 0.010000 0.816000 0.583000 0.913000 0.893000 0.951000 0.126000 0.398000 ;0.767000 0.029000 0.262000 0.641000 0.175000 0.544000 0.359000 0.932000 0.680000 0.476000 ];\r\nWexp=[9 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.300000 ;0.700000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.240000 0.050000 0.190000 0.110000 0.920000 0.590000 0.730000 0.380000 0.780000 0.950000 ;0.860000 0.700000 0.430000 0.620000 0.220000 0.540000 0.410000 0.890000 0.680000 0.490000 ];\r\nWexp=[6 2];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\n% function GJam_Qual_2014d\r\n% % \r\n% %War\r\n% fn='D-small-attempt0.in';\r\n% %fn='D-large.in';\r\n% [data] = read_file(fn); % \r\n% \r\n% fidG = fopen('D-small-output.out', 'w');\r\n% %fidG = fopen('D-large-output001.out', 'w');\r\n% tic\r\n% \r\n% for i=1:size(data,2) % Cell array has N rows of cases\r\n% % m=sort(data{i},2);\r\n%  m=data{i};\r\n%  dw = dWar(m) ;% \r\n%  w = War(m) ;%  \r\n%  \r\n%    fprintf('Case #%i: %i %i\\n',i,dw,w);\r\n%    fprintf(fidG,'Case #%i: %i %i\\n',i,dw,w);\r\n%     \r\n% end\r\n% toc\r\n% \r\n% fclose(fidG);\r\n% \r\n% end\r\n% \r\n% function dw=dWar(m)\r\n% % Post contest\r\n% % Lie to burn opponent best pieces\r\n%  N=sort(m(1,:));\r\n%  K=sort(m(2,:));\r\n%  \r\n%  dw=0;\r\n%  for i=1:length(N)\r\n%   if N(i)\u003eK(1) % Lie to above to beat lowest\r\n%    dw=dw+1;\r\n%    K=K(2:end);\r\n%   else % Lie to just below best\r\n%    K=K(1:end-1);\r\n%   end\r\n%  end\r\n%  \r\n% end\r\n% \r\n% function w=War(m)\r\n% % Optimal truthful strategy\r\n% % Best lucky sequence\r\n%  w=0;\r\n% \r\n%  Nm=sort(m(1,:));\r\n%  Km=sort(m(2,:));\r\n%  \r\n%  Nmz=[Nm' ones(size(Nm,2),1)];\r\n%  Kmz=[Km' zeros(size(Km,2),1)];\r\n%  z=[Nmz;Kmz]; \r\n%  z=sortrows(z,-1);\r\n%  \r\n%  while ~isempty(z)\r\n%   ptr1=find(z(:,2)==1,1,'last');\r\n%   ptr0=find(z(1:ptr1,2)==0,1,'last');\r\n%   if isempty(ptr0)\r\n%    % score\r\n%    w=w+1;\r\n%    z(ptr1,:)=[];\r\n%    ptr0=find(z(:,2)==0,1,'last');\r\n%    z(ptr0,:)=[];  \r\n%   else\r\n%    z(ptr1,:)=[];\r\n%    z(ptr0,:)=[];  \r\n%   end\r\n%  end \r\n%  % Create worst Ken/B Scenario\r\n%  \r\n% end\r\n% \r\n% \r\n% function [d] = read_file(fn)\r\n% % Read whole array then parse\r\n% % dlmread valid for numeric arrays\r\n%  m=dlmread(fn);\r\n%  m(1,:)=[];\r\n%  for i=1:size(m,1)/3\r\n%   d{i}=m(3*i-1:3*i,1:m(3*i-2,1));\r\n%  end\r\n%  \r\n% end % read_file\r\n% Data Set file\r\n%4\r\n%1\r\n%0.5\r\n%0.6\r\n%2\r\n%0.7 0.2\r\n%0.8 0.3\r\n%3\r\n%0.5 0.1 0.9\r\n%0.6 0.4 0.3\r\n%9\r\n%0.186 0.389 0.907 0.832 0.959 0.557 0.300 0.992 0.899\r\n%0.916 0.728 0.271 0.520 0.700 0.521 0.215 0.341 0.458\r\n\r\n\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2014-04-19T14:08:56.000Z","updated_at":"2014-04-19T15:00:47.000Z","published_at":"2014-04-19T15:00:47.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/2974486/dashboard#s=p3\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 Qualifier Deceitful War\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMy condensed summary of the problem statement.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven two players, A and B, they are each given N masses. All masses are unique. Player A plays first on each comparison and states a Mass. Player B then plays a Mass. The player with the higher mass wins a point after they are compared on a scale. These masses then disappear. This repeats for all N masses. There are no constraints on the order of pieces played.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eUnsurprisingly when A truthfully states masses player B consistently wins.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePlayer A, discouraged, decides to cheat. After the masses are provided player A asks B get A a drink and while B is away A looks at B's masses. Player A now plays pieces but does not necessarily honestly state the mass values. All scale comparisons must be valid based on B's strategy and A's stated mass. Player A now achieves more wins.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePart one is determine the best possible score for A when playing deceitfully.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePart two is determine the best possible score if player A did not look and is honest.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[A: 0.5 0.1 0.9  B 0.6 0.4 0.3  Deceitful Wins 2, Optimal Honest 1\\n\\nA 0.186 0.389 0.907 0.832 0.959 0.557 0.300 0.992 0.899\\nB 0.916 0.728 0.271 0.520 0.700 0.521 0.215 0.341 0.458\\nDeceitful A Wins 8\\nOptimal Honest A Wins 4]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e A,B vectors of length N (Small has N\u0026lt;=10, Large(future challenge N\u0026lt;=1000)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Deceitful Wins, Optimal Honest Wins\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNote:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn the contest period there were 30 Matlab solutions, of which I was not one as I glitched on the easy Deceitful algorithm thinking my Honest algorithm was in error.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.go-hero.net/jam/14/solutions/0/4/MATLAB\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam Deceitful Solutions\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. My post contest full GJam is in the test suite. About 11000 out of 28000 entrants solved this puzzle.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":1942,"title":"GJam 2014 China Rd B: Party","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/2929486/dashboard#s=p1 GJam 2014 China Party\u003e. Small Case.\r\n\r\nThe Goal is determine the optimal Party House. Given a set of people to attend a party, select the home from this set that minimizes the total travel of people. People travel only NSEW, no diagonals, to reach the host's home. If multiple homes have equal distance then select the home with minimum X. If there are more than one with Min distance and equal Min X then choose the house with Min Y.\r\n\r\nThe input is an array that defines rectangles of partiers. One line of the array is [xmin,ymin,xmax,ymax]. Blocks do not overlap.\r\n\r\n\r\n*Input:* [M], Bx4 matrix (B\u003c=100). Total B area of \u003c=1000\r\n\r\n*Output:* [x,y,d] where [x,y] is Party House and d is everyone's total distance\r\n\r\n*Examples:*\r\n\r\n  M   [x y d]\r\n  [0 0 2 2] [1 1 12]\r\n  [-1 2 -1 2;0 0 0 0;1 3 1 3] [-1 2 6]\r\n\r\n \r\n*Contest Performance:* Best Delta Time of 16 minutes with 496 of 2010 able to process the small data set. The large data set was only achieved by 47 in the 3 hrs of contest duration.\r\n\r\n\r\n*Commentary:*\r\n\r\n  1) The small can be solved by brute force since fewer than 1000 points require evaluation.\r\n  2) The large case, which is giving me fits, has up to 1,000,000 points to evaluate.\r\n  3) Graphing the small case with surf gives some unexpected asymmetric results relative to the simple centroid.","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/2929486/dashboard#s=p1\"\u003eGJam 2014 China Party\u003c/a\u003e. Small Case.\u003c/p\u003e\u003cp\u003eThe Goal is determine the optimal Party House. Given a set of people to attend a party, select the home from this set that minimizes the total travel of people. People travel only NSEW, no diagonals, to reach the host's home. If multiple homes have equal distance then select the home with minimum X. If there are more than one with Min distance and equal Min X then choose the house with Min Y.\u003c/p\u003e\u003cp\u003eThe input is an array that defines rectangles of partiers. One line of the array is [xmin,ymin,xmax,ymax]. Blocks do not overlap.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [M], Bx4 matrix (B\u0026lt;=100). Total B area of \u0026lt;=1000\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e [x,y,d] where [x,y] is Party House and d is everyone's total distance\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eM   [x y d]\r\n[0 0 2 2] [1 1 12]\r\n[-1 2 -1 2;0 0 0 0;1 3 1 3] [-1 2 6]\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eContest Performance:\u003c/b\u003e Best Delta Time of 16 minutes with 496 of 2010 able to process the small data set. The large data set was only achieved by 47 in the 3 hrs of contest duration.\u003c/p\u003e\u003cp\u003e\u003cb\u003eCommentary:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e1) The small can be solved by brute force since fewer than 1000 points require evaluation.\r\n2) The large case, which is giving me fits, has up to 1,000,000 points to evaluate.\r\n3) Graphing the small case with surf gives some unexpected asymmetric results relative to the simple centroid.\r\n\u003c/pre\u003e","function_template":"function [x,y,d]=Party_CH(p)\r\n x=0;\r\n y=0;\r\n d=0;\r\nend","test_suite":"%%\r\ntic\r\nzm=[0 0 30 30 ];\r\nvexp=[15 15 14880];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[0 0 29 29 ];\r\nvexp=[14 14 13500];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[0 1 0 100 ;0 -100 0 -1 ;-100 0 -1 0 ;1 0 100 0 ];\r\nvexp=[-1 0 20400];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[616 34 616 34 ;78 -828 78 -828 ;-762 -671 -762 -671 ;-199 -960 -199 -960 ;427 -575 427 -575 ;448 798 448 798 ;-819 -939 -819 -939 ;852 -564 852 -564 ;-145 281 -145 281 ;694 828 694 828 ;-278 963 -278 963 ;47 813 47 813 ;-393 24 -393 24 ;198 -257 198 -257 ;-393 -177 -393 -177 ;596 237 596 237 ;-678 760 -678 760 ;-180 92 -180 92 ;-590 995 -590 995 ;27 -946 27 -946 ;459 799 459 799 ;-491 -739 -491 -739 ;-691 -922 -691 -922 ;-38 185 -38 185 ;495 -471 495 -471 ;-850 532 -850 532 ;-360 798 -360 798 ;589 -104 589 -104 ;-492 -364 -492 -364 ;-797 415 -797 415 ;105 319 105 319 ;-879 -347 -879 -347 ;-795 172 -795 172 ;529 831 529 831 ;357 -199 357 -199 ;621 959 621 959 ;-475 125 -475 125 ;769 884 769 884 ;172 -706 172 -706 ;618 222 618 222 ;989 734 989 734 ;-273 478 -273 478 ;-548 930 -548 930 ;-634 889 -634 889 ;599 879 599 879 ;836 834 836 834 ;463 901 463 901 ;972 -903 972 -903 ;-319 495 -319 495 ;-727 -368 -727 -368 ;-685 -487 -685 -487 ;834 902 834 902 ;-114 -961 -114 -961 ;-984 193 -984 193 ;-388 867 -388 867 ;712 232 712 232 ;-750 19 -750 19 ;855 -455 855 -455 ;857 996 857 996 ;493 -722 493 -722 ;-582 426 -582 426 ;-824 848 -824 848 ;479 -993 479 -993 ;-976 -820 -976 -820 ;208 443 208 443 ;919 745 919 745 ;-460 -548 -460 -548 ;375 556 375 556 ;-572 980 -572 980 ;345 -411 345 -411 ;-275 613 -275 613 ;718 -895 718 -895 ;-838 -892 -838 -892 ;-241 836 -241 836 ;336 -878 336 -878 ;891 -355 891 -355 ;-986 989 -986 989 ;629 856 629 856 ;-779 787 -779 787 ;970 711 970 711 ;-578 -163 -578 -163 ;779 735 779 735 ;572 -203 572 -203 ;237 192 237 192 ;-427 -213 -427 -213 ;-338 9 -338 9 ;-905 45 -905 45 ;64 -35 64 -35 ;476 -560 476 -560 ;-370 24 -370 24 ;-836 487 -836 487 ;53 50 53 50 ;540 -897 540 -897 ;-179 -8 -179 -8 ;-979 227 -979 227 ;528 257 528 257 ;-876 615 -876 615 ;-342 -895 -342 -895 ;802 -744 802 -744 ;-458 -395 -458 -395 ];\r\nvexp=[-38 185 110298];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[241 -635 241 -635 ;75 -432 75 -432 ;-522 -517 -522 -517 ;-589 -931 -589 -931 ;-903 447 -903 447 ;-555 757 -555 757 ;-584 19 -584 19 ;420 -458 420 -458 ;-127 517 -127 517 ;-417 158 -417 158 ;542 703 542 703 ;865 -531 865 -531 ;-592 -191 -591 -190 ;570 467 570 467 ;-326 -668 -325 -668 ;197 516 197 516 ;238 -442 239 -441 ;-339 -71 -338 -70 ;255 -450 256 -450 ;408 -232 409 -231 ;302 -765 303 -764 ;-575 687 -575 688 ;-352 -651 -351 -650 ;-483 -96 -483 -95 ;285 170 286 170 ;-349 -660 -348 -659 ;518 -419 518 -418 ;555 -506 556 -506 ;900 97 901 98 ;-969 -258 -969 -257 ;-514 -199 -513 -198 ;-422 -197 -422 -197 ;-852 -115 -852 -114 ;166 -651 166 -650 ;628 -930 629 -930 ;-53 853 -52 853 ;484 503 484 504 ;-912 -976 -911 -975 ;-386 -562 -386 -561 ;521 946 521 947 ;717 -799 718 -797 ;-463 -348 -461 -348 ;-14 167 -13 169 ;-346 -677 -344 -675 ;-675 176 -673 179 ;894 807 896 811 ];\r\nvexp=[-338 -71 136630];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[468 377 468 377 ;839 -105 839 -105 ;-871 487 -871 487 ;-307 651 -307 651 ;135 -929 135 -929 ;-411 -829 -411 -829 ;745 -64 745 -64 ;336 784 336 784 ;-875 -84 -875 -84 ;-723 -736 -723 -736 ;701 -818 701 -818 ;-239 210 -239 210 ;-15 614 -15 614 ;362 225 362 225 ;894 443 894 443 ;-352 -303 -352 -303 ;-287 254 -287 255 ;-739 -960 -739 -960 ;110 28 110 28 ;540 434 541 435 ;-103 -962 -102 -962 ;913 -274 913 -273 ;835 -730 836 -730 ;544 866 545 867 ;-97 -358 -96 -358 ;-490 -319 -490 -319 ;-122 700 -122 702 ;37 902 39 902 ;103 266 104 266 ;-581 -714 -579 -710 ];\r\nvexp=[-97 -358 62565];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[28 122 30 124 ;-85 -609 -83 -607 ;763 19 764 20 ;612 -204 613 -203 ;-521 792 -520 794 ;-782 193 -781 195 ;-662 149 -661 151 ;-561 -568 -559 -567 ;-190 -897 -189 -896 ;-725 -317 -723 -315 ;704 -957 706 -956 ;-329 -967 -328 -966 ;-564 -639 -563 -637 ;-603 -86 -601 -84 ;-165 548 -164 550 ;-197 -150 -195 -148 ;-379 -581 -377 -579 ;401 -684 403 -683 ;546 -194 548 -192 ;267 573 268 574 ;-634 288 -632 290 ;593 857 595 858 ;78 -240 80 -238 ;800 981 801 982 ;473 472 474 473 ;-894 469 -893 471 ;582 347 583 349 ;516 189 518 190 ;333 -865 335 -864 ;-192 507 -191 508 ;-310 534 -309 536 ;-783 -487 -781 -486 ;-915 -696 -914 -695 ;-57 872 -56 874 ;717 -423 718 -422 ;509 -810 510 -809 ;-186 -335 -184 -333 ;-403 629 -401 631 ;-598 104 -596 106 ;-149 -210 -147 -208 ;920 911 922 913 ;819 -934 821 -932 ;518 -328 520 -326 ;-630 429 -628 431 ;348 -766 350 -764 ;242 -300 244 -298 ;387 -191 389 -189 ;-19 -871 -17 -869 ;383 723 385 725 ;-742 -327 -740 -325 ;-181 -43 -179 -41 ;799 -46 801 -44 ;729 -373 731 -371 ;-863 -16 -861 -14 ;998 -444 1000 -442 ;242 962 244 964 ;-249 -412 -247 -410 ;116 -14 118 -12 ;871 -455 873 -453 ;669 492 671 494 ;877 -447 879 -445 ;990 -938 992 -936 ;43 522 45 524 ;-70 45 -68 47 ;808 8 810 10 ;-879 -310 -877 -308 ;979 79 981 81 ;-695 202 -693 204 ;-650 469 -648 471 ;690 -624 692 -622 ;-169 -43 -167 -41 ;-81 723 -78 726 ;-789 968 -787 970 ;-913 698 -912 701 ;-597 -970 -595 -968 ;693 -79 694 -77 ;41 847 43 849 ;39 -728 41 -725 ;422 470 425 473 ;-518 -883 -517 -880 ;-858 784 -855 786 ;-246 311 -245 312 ;194 -715 197 -712 ;-370 -868 -369 -865 ;377 174 380 176 ;-697 223 -694 225 ;-489 -957 -486 -955 ;-585 -164 -583 -162 ;-283 -880 -281 -878 ;-141 -729 -140 -728 ;835 447 838 450 ;-424 -612 -423 -610 ;-280 376 -276 377 ;-351 -393 -350 -392 ;-793 -436 -788 -434 ;-548 -180 -547 -175 ;826 775 831 778 ;-664 -604 -658 -602 ;987 -65 988 -57 ;-540 -796 -533 -795 ];\r\nvexp=[-167 -43 874364];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[-291 955 -289 956 ;276 -710 278 -708 ;-724 283 -722 285 ;-850 588 -848 589 ;625 -511 627 -509 ;-530 -994 -529 -993 ;-312 -655 -311 -654 ;86 -269 87 -267 ;565 -521 566 -520 ;438 320 440 321 ;-330 985 -328 986 ;-408 -942 -407 -940 ;755 792 756 794 ;847 -794 848 -793 ;436 -1 438 0 ;206 -637 208 -635 ;516 544 518 546 ;77 -200 78 -199 ;-618 276 -616 277 ;380 868 382 870 ;-664 284 -663 286 ;-526 929 -524 931 ;743 -555 745 -553 ;331 145 333 146 ;98 124 99 126 ;220 -661 222 -660 ;-92 498 -90 500 ;646 -552 647 -550 ;-531 -850 -529 -849 ;573 -80 574 -79 ;-317 299 -315 300 ;-963 713 -962 714 ;411 818 412 819 ;-99 -503 -97 -501 ;279 599 280 601 ;793 -237 794 -235 ;-41 -876 -39 -875 ;-550 -478 -549 -477 ;-107 820 -105 822 ;657 886 659 888 ;-460 684 -458 686 ;-80 455 -78 457 ;-779 -528 -777 -526 ;-829 719 -827 721 ;-760 -716 -758 -714 ;39 342 41 344 ;254 447 256 449 ;-272 -705 -270 -703 ;-900 507 -898 509 ;498 327 500 329 ;-669 168 -667 170 ;519 -367 521 -365 ;-674 323 -672 325 ;-724 519 -722 521 ;52 -596 54 -594 ;897 -724 899 -722 ;6 -387 8 -385 ;62 808 64 810 ;-84 -749 -82 -747 ;-475 -379 -473 -377 ;-467 -819 -465 -817 ;-130 232 -128 234 ;218 862 220 864 ;-206 339 -204 341 ;821 658 823 660 ;261 61 263 63 ;-704 869 -702 871 ;788 -490 790 -488 ;482 67 484 69 ;-328 -781 -326 -779 ;150 -117 152 -115 ;946 -90 948 -88 ;-68 477 -65 479 ;-704 915 -701 918 ;979 -761 980 -759 ;328 705 331 708 ;969 951 971 953 ;-638 991 -637 993 ;-621 120 -619 121 ;-546 651 -545 654 ;217 550 218 551 ;-743 196 -740 199 ;-591 847 -588 849 ;-48 -769 -46 -766 ;678 424 680 425 ;-250 268 -248 270 ;964 -389 966 -386 ;193 -818 195 -815 ;-803 107 -801 109 ;16 -725 19 -722 ;-721 -274 -720 -273 ;14 666 17 668 ;-822 933 -820 936 ;-895 -416 -894 -412 ;821 -329 824 -326 ;382 68 387 68 ;590 282 595 284 ;97 -310 103 -307 ;147 933 150 933 ;-772 -42 -765 -33 ];\r\nvexp=[-128 232 914624];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[-987 -105 -985 -103 ;-22 -655 -20 -653 ;-622 412 -621 414 ;-526 641 -524 642 ;-694 573 -692 575 ;268 -697 269 -695 ;366 544 368 545 ;648 218 649 220 ;314 443 316 445 ;-589 354 -588 355 ;60 544 62 546 ;21 -444 23 -442 ;175 -224 176 -223 ;-915 -696 -914 -695 ;-417 766 -415 767 ;-874 -599 -873 -598 ;606 921 607 922 ;-672 562 -671 564 ;-17 39 -16 40 ;-708 632 -707 633 ;823 -170 825 -168 ;996 -372 997 -371 ;961 -169 962 -167 ;572 577 573 579 ;53 345 55 347 ;569 453 570 454 ;716 753 718 754 ;-803 -873 -802 -872 ;-110 940 -108 942 ;-943 841 -941 842 ;186 997 187 999 ;-107 388 -105 390 ;193 -54 195 -52 ;-231 -916 -230 -914 ;-962 749 -960 750 ;794 -458 796 -457 ;259 -909 261 -908 ;-719 65 -718 67 ;242 -481 244 -479 ;-528 -223 -526 -221 ;283 955 285 957 ;-888 946 -886 948 ;847 -707 849 -705 ;757 -814 759 -812 ;-940 -941 -938 -939 ;2 -176 4 -174 ;665 -708 667 -706 ;656 170 658 172 ;494 949 496 951 ;994 802 996 804 ;-65 785 -63 787 ;147 684 149 686 ;-488 807 -486 809 ;-875 462 -873 464 ;-152 253 -150 255 ;114 247 116 249 ;760 -206 762 -204 ;-204 569 -202 571 ;89 -752 91 -750 ;-464 -975 -462 -973 ;-783 -545 -781 -543 ;75 -251 77 -249 ;471 -462 473 -460 ;-126 -169 -124 -167 ;-311 615 -309 617 ;-398 -727 -396 -725 ;834 -915 836 -913 ;-87 -21 -85 -19 ;-301 918 -299 920 ;-740 -366 -738 -364 ;24 47 26 49 ;-929 -761 -927 -759 ;-863 -36 -861 -33 ;541 604 543 606 ;-279 -423 -276 -422 ;-620 -116 -619 -114 ;-145 571 -143 573 ;-638 133 -636 136 ;-885 546 -882 549 ;-625 -11 -622 -8 ;-610 -369 -609 -367 ;80 -655 83 -652 ;-398 -183 -395 -182 ;-71 -953 -69 -951 ;-767 939 -766 942 ;-763 -362 -760 -360 ;46 -897 47 -895 ;23 -437 25 -436 ;550 -440 553 -439 ;-660 178 -658 182 ;851 -919 853 -917 ;124 437 125 438 ;-414 -524 -411 -520 ;881 797 884 799 ;-73 -303 -68 -301 ;-373 -585 -369 -584 ;-239 963 -237 968 ;453 965 456 968 ;-742 875 -738 877 ;-894 -954 -884 -944 ];\r\nvexp=[-126 -168 1055075];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[-648 -872 -646 -871 ;739 270 741 272 ;-847 -333 -845 -331 ;-510 -174 -508 -173 ;182 -353 183 -352 ;-573 277 -571 278 ;297 245 299 247 ;-223 818 -221 819 ;886 57 887 58 ;888 -773 889 -772 ;-593 513 -591 514 ;-587 -107 -585 -106 ;-564 40 -563 41 ;234 -624 236 -622 ;-82 902 -81 903 ;222 851 223 852 ;-726 476 -724 478 ;-392 -160 -390 -158 ;-153 -484 -152 -483 ;-522 -962 -520 -960 ;66 -926 68 -925 ;-535 28 -534 29 ;-603 -292 -602 -291 ;-981 -471 -980 -469 ;-367 865 -365 867 ;-445 -75 -443 -73 ;300 -40 301 -38 ;-329 -287 -328 -286 ;554 935 556 936 ;593 -932 594 -930 ;206 873 208 875 ;335 574 336 575 ;296 154 298 155 ;323 -423 325 -422 ;-144 472 -143 474 ;-284 211 -282 213 ;-289 -996 -287 -994 ;167 574 168 575 ;65 803 67 805 ;264 173 266 175 ;-820 -637 -818 -635 ;-897 813 -895 815 ;60 -524 62 -522 ;652 850 654 852 ;-837 57 -835 59 ;31 -96 33 -94 ;-607 540 -605 542 ;-240 794 -238 796 ;386 453 388 455 ;-421 -468 -419 -466 ;-838 -196 -836 -194 ;248 -366 250 -364 ;7 -933 9 -931 ;578 742 580 744 ;-634 -828 -632 -826 ;678 16 680 18 ;706 -163 708 -161 ;228 771 230 773 ;-440 -564 -438 -562 ;228 -606 230 -604 ;-361 652 -359 654 ;-608 -741 -606 -739 ;-926 42 -924 44 ;984 147 986 149 ;-132 -334 -130 -332 ;492 870 494 872 ;-470 523 -468 525 ;440 983 442 985 ;-68 -14 -66 -12 ;652 970 654 972 ;-591 -410 -589 -408 ;-252 -573 -250 -571 ;-639 -424 -637 -421 ;-306 -234 -303 -231 ;-720 81 -718 83 ;-645 845 -642 846 ;-938 507 -936 508 ;646 122 648 125 ;-76 864 -73 867 ;777 -142 778 -141 ;267 -756 269 -755 ;-151 -11 -150 -10 ;-568 -929 -567 -926 ;753 -830 756 -828 ;-205 -663 -202 -661 ;329 368 330 369 ;-402 -682 -399 -679 ;-649 463 -647 465 ;995 538 999 539 ;107 817 111 818 ;-546 -441 -544 -437 ;-856 920 -854 921 ;-587 -483 -584 -479 ;717 -641 719 -639 ;-892 -134 -890 -132 ;-300 -887 -296 -883 ;605 -228 607 -224 ;-93 -994 -90 -994 ;-421 -56 -414 -50 ;76 -592 80 -583 ];\r\nvexp=[-303 -231 855861];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\ntoc\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-10-18T01:44:26.000Z","updated_at":"2013-10-18T02:33:24.000Z","published_at":"2013-10-18T02:33:24.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/2929486/dashboard#s=p1\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 China Party\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Small Case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Goal is determine the optimal Party House. Given a set of people to attend a party, select the home from this set that minimizes the total travel of people. People travel only NSEW, no diagonals, to reach the host's home. If multiple homes have equal distance then select the home with minimum X. If there are more than one with Min distance and equal Min X then choose the house with Min Y.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe input is an array that defines rectangles of partiers. One line of the array is [xmin,ymin,xmax,ymax]. Blocks do not overlap.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [M], Bx4 matrix (B\u0026lt;=100). Total B area of \u0026lt;=1000\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [x,y,d] where [x,y] is Party House and d is everyone's total distance\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[M   [x y d]\\n[0 0 2 2] [1 1 12]\\n[-1 2 -1 2;0 0 0 0;1 3 1 3] [-1 2 6]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eContest Performance:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Best Delta Time of 16 minutes with 496 of 2010 able to process the small data set. The large data set was only achieved by 47 in the 3 hrs of contest duration.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCommentary:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[1) The small can be solved by brute force since fewer than 1000 points require evaluation.\\n2) The large case, which is giving me fits, has up to 1,000,000 points to evaluate.\\n3) Graphing the small case with surf gives some unexpected asymmetric results relative to the simple centroid.]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":1902,"title":"GJam 2014 China Rd A: Read Phone Number (Large)","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/2924486/dashboard GJam 2014 China Read Phone Number\u003e. Large Case.\r\n\r\nThe Goal is to output a string for the reading of a segmented phone number. When numbers are replicated within a segment the number is preceded by its multiplier. If there are more than 10 repeats in a segment then the number is output for the number of occurrences. Count multipliers are double, triple, quadruple, quintuple, sextuple, septuple, octuple, nonuple, and decuple for 2 thru 10, respectively. The \u003e 10 repeats occurs in the Large Data set.\r\n\r\n\r\n*Input:* [Number, Segments] where Number is a string and segments is a Vector that sums to the length of Number\r\n\r\n*Output:* Text, a string of the reading based upon segments\r\n\r\n*Examples:*\r\n\r\n  [Number,Segments]  [Text]\r\n    ['15012233444', [3 4 4]] ['one five zero one double two three three triple four']\r\n    ['15012233444', [3 3 5]] ['one five zero one double two double three triple four']\r\n    \r\n\r\n*Contest Performance:* Best Time of 12 minutes with 1094 of 3058 able to process the Large data set.\r\n","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/2924486/dashboard\"\u003eGJam 2014 China Read Phone Number\u003c/a\u003e. Large Case.\u003c/p\u003e\u003cp\u003eThe Goal is to output a string for the reading of a segmented phone number. When numbers are replicated within a segment the number is preceded by its multiplier. If there are more than 10 repeats in a segment then the number is output for the number of occurrences. Count multipliers are double, triple, quadruple, quintuple, sextuple, septuple, octuple, nonuple, and decuple for 2 thru 10, respectively. The \u003e 10 repeats occurs in the Large Data set.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [Number, Segments] where Number is a string and segments is a Vector that sums to the length of Number\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Text, a string of the reading based upon segments\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e[Number,Segments]  [Text]\r\n  ['15012233444', [3 4 4]] ['one five zero one double two three three triple four']\r\n  ['15012233444', [3 3 5]] ['one five zero one double two double three triple four']\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eContest Performance:\u003c/b\u003e Best Time of 12 minutes with 1094 of 3058 able to process the Large data set.\u003c/p\u003e","function_template":"function Text = Phone_CH(str,v) %\r\n Text='';\r\nend\r\n\r\n% One method for inserting strings from a cell array\r\nfunction valuestr=Phone_number(x)\r\n valuecell={'zero' 'one' 'two' 'three' 'four' 'five' 'six' 'seven' 'eight' 'nine'};\r\n valuestr=valuecell{x+1};\r\nend\r\n\r\nfunction qtystr=Phone_qty(x)\r\n qtycell={'' 'double' 'triple' 'quadruple' 'quintuple' 'sextuple' 'septuple' 'octuple' 'nonuple' 'decuple'};\r\n qtystr=qtycell{x};\r\nend","test_suite":"%%\r\ntic\r\nzstr='0000000000';\r\nzv=[10 ];\r\nvexp='decuple zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111';\r\nzv=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ];\r\nvexp='one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111';\r\nzv=[1 2 3 4 5 6 7 8 9 10 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ];\r\nvexp='one double one triple one quadruple one quintuple one sextuple one septuple one octuple one nonuple one decuple one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='6701604014038409645317871541814818042765712319652041768196456846465134589785405932716870450845696942';\r\nzv=[18 53 27 2 ];\r\nvexp='six seven zero one six zero four zero one four zero three eight four zero nine six four five three one seven eight seven one five four one eight one four eight one eight zero four two seven six five seven one two three one nine six five two zero four one seven six eight one nine six four five six eight four six four six five one three four five eight nine seven eight five four zero five nine three two seven one six eight seven zero four five zero eight four five six nine six nine four two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7948353719781965623468317824953101456187089254894578076436069073736717501261569457261541306241739435';\r\nzv=[67 24 2 7 ];\r\nvexp='seven nine four eight three five three seven one nine seven eight one nine six five six two three four six eight three one seven eight two four nine five three one zero one four five six one eight seven zero eight nine two five four eight nine four five seven eight zero seven six four three six zero six nine zero seven three seven three six seven one seven five zero one two six one five six nine four five seven two six one five four one three zero six two four one seven three nine four three five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4278368013428262027948460184086902458706181428387549853031942964639495026306271567618562640383239305';\r\nzv=[99 1 ];\r\nvexp='four two seven eight three six eight zero one three four two eight two six two zero two seven nine four eight four six zero one eight four zero eight six nine zero two four five eight seven zero six one eight one four two eight three eight seven five four nine eight five three zero three one nine four two nine six four six three nine four nine five zero two six three zero six two seven one five six seven six one eight five six two six four zero three eight three two three nine three zero five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9464820841980697178401716583034690432403485084358767843859195212565106243810816790591659815789420929';\r\nzv=[23 54 6 3 12 2 ];\r\nvexp='nine four six four eight two zero eight four one nine eight zero six nine seven one seven eight four zero one seven one six five eight three zero three four six nine zero four three two four zero three four eight five zero eight four three five eight seven six seven eight four three eight five nine one nine five two one two five six five one zero six two four three eight one zero eight one six seven nine zero five nine one six five nine eight one five seven eight nine four two zero nine two nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1239417614204605186382638961928216123515856310156537949350505058426185417564013152480630168120385902';\r\nzv=[9 20 68 3 ];\r\nvexp='one two three nine four one seven six one four two zero four six zero five one eight six three eight two six three eight nine six one nine two eight two one six one two three five one five eight five six three one zero one five six five three seven nine four nine three five zero five zero five zero five eight four two six one eight five four one seven five six four zero one three one five two four eight zero six three zero one six eight one two zero three eight five nine zero two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5705658716138187897089238034926826854932909071213569698472175680807126039351827987289593273256549721';\r\nzv=[23 49 6 21 1 ];\r\nvexp='five seven zero five six five eight seven one six one three eight one eight seven eight nine seven zero eight nine two three eight zero three four nine two six eight two six eight five four nine three two nine zero nine zero seven one two one three five six nine six nine eight four seven two one seven five six eight zero eight zero seven one two six zero three nine three five one eight two seven nine eight seven two eight nine five nine three two seven three two five six five four nine seven two one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5496587298081832124197901212051639570370452063174067189290683532890857290152921651676725291709858268';\r\nzv=[84 12 1 1 2 ];\r\nvexp='five four nine six five eight seven two nine eight zero eight one eight three two one two four one nine seven nine zero one two one two zero five one six three nine five seven zero three seven zero four five two zero six three one seven four zero six seven one eight nine two nine zero six eight three five three two eight nine zero eight five seven two nine zero one five two nine two one six five one six seven six seven two five two nine one seven zero nine eight five eight two six eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='6046727253505468724903978269465059754529308478929632170216741630304035454232162816186394257019613649';\r\nzv=[21 13 16 7 19 17 7 ];\r\nvexp='six zero four six seven two seven two five three five zero five four six eight seven two four nine zero three nine seven eight two six nine four six five zero five nine seven five four five two nine three zero eight four seven eight nine two nine six three two one seven zero two one six seven four one six three zero three zero four zero three five four five four two three two one six two eight one six one eight six three nine four two five seven zero one nine six one three six four nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9709324183067148146829125827086805141425714050976780595295963087561738097976891946025083503270131874';\r\nzv=[19 40 15 25 1 ];\r\nvexp='nine seven zero nine three two four one eight three zero six seven one four eight one four six eight two nine one two five eight two seven zero eight six eight zero five one four one four two five seven one four zero five zero nine seven six seven eight zero five nine five two nine five nine six three zero eight seven five six one seven three eight zero nine seven nine seven six eight nine one nine four six zero two five zero eight three five zero three two seven zero one three one eight seven four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5935294040195821091284183159414635231362074061646489573631084519431981565623091096745285242356956132';\r\nzv=[49 2 47 2 ];\r\nvexp='five nine three five two nine four zero four zero one nine five eight two one zero nine one two eight four one eight three one five nine four one four six three five two three one three six two zero seven four zero six one six four six four eight nine five seven three six three one zero eight four five one nine four three one nine eight one five six five six two three zero nine one zero nine six seven four five two eight five two four two three five six nine five six one three two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='68420979858341861054645438226544';\r\nzv=[9 14 9 ];\r\nvexp='six eight four two zero nine seven nine eight five eight three four one eight six one zero five four six four five four three eight double two six five double four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='95673537815030404160202058788558325698592015367995915420';\r\nzv=[3 12 11 12 7 10 1 ];\r\nvexp='nine five six seven three five three seven eight one five zero three zero four zero four one six zero two zero two zero five eight seven double eight double five eight three two five six nine eight five nine two zero one five three six seven double nine five nine one five four two zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='2917155597708068980673145819211425430909609607407685919790633007543533613';\r\nzv=[8 4 12 5 15 4 8 12 5 ];\r\nvexp='two nine one seven one triple five nine double seven zero eight zero six eight nine eight zero six seven three one four five eight one nine two double one four two five four three zero nine zero nine six zero nine six zero seven four zero seven six eight five nine one nine seven nine zero six double three double zero seven five four three five double three six one three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7898081583437702364634490213008907725195448';\r\nzv=[10 12 6 12 2 1 ];\r\nvexp='seven eight nine eight zero eight one five eight three four three double seven zero two three six four six three four four nine zero two one three double zero eight nine zero double seven two five one nine five double four eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='437260442554900624648844197922288914270446';\r\nzv=[11 6 9 6 3 1 3 2 1 ];\r\nvexp='four three seven two six zero double four two double five four nine double zero six two four six four double eight double four one nine seven nine triple two eight eight nine one four two seven zero double four six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='2789225013517271635527397201226697731452904643719381232152395186872927418002375223547884014744';\r\nzv=[5 9 7 2 15 1 6 4 8 9 9 3 7 5 4 ];\r\nvexp='two seven eight nine two two five zero one three five one seven two seven one six three double five two seven three nine seven two zero one double two double six nine double seven three one four five two nine zero four six four three seven one nine three eight one two three two one five two three nine five one eight six eight seven two nine two seven four one eight double zero two three seven five double two three five four seven double eight four zero one four seven double four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='745443046641006460911871735664538092408084394952066353448004450489821840381778094629976796';\r\nzv=[9 1 15 14 15 8 14 7 3 2 1 1 ];\r\nvexp='seven four five double four three zero four six six four one double zero six four six zero nine double one eight seven one seven three five double six four five three eight zero nine two four zero eight zero eight four three nine four nine five two zero double six three five three double four eight double zero double four five zero four eight nine eight two one eight four zero three eight one seven seven eight zero nine four six two double nine seven six seven nine six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9389581629278714115270272359258386234328448241872301648883';\r\nzv=[15 3 1 13 6 5 7 5 3 ];\r\nvexp='nine three eight nine five eight one six two nine two seven eight seven one four double one five two seven zero two seven two three five nine two five eight three eight six two three four three two eight double four eight two four one eight seven two three zero one six four eight double eight three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='638110728463471172123321819781344177341197656065297520823913148755582611608';\r\nzv=[10 6 8 1 15 12 5 7 2 3 4 1 1 ];\r\nvexp='six three eight double one zero seven two eight four six three four seven double one seven two one two double three two one eight one nine seven eight one three double four one double seven three four double one nine seven six five six zero six five two nine seven five two zero eight two three nine one three one four eight seven double five five eight two six double one six zero eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1133185809510432';\r\nzv=[15 1 ];\r\nvexp='double one double three one eight five eight zero nine five one zero four three two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='238728670935325997878047006508522404463678112601608414215085957397966';\r\nzv=[13 8 4 13 10 15 6 ];\r\nvexp='two three eight seven two eight six seven zero nine three five three two five double nine seven eight seven eight zero four seven zero zero six five zero eight five double two four zero double four six three six seven eight double one two six zero one six zero eight four one four two one five zero eight five nine five seven three nine seven nine double six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='85658191899305236022867183837318073902283214947760248177452103132443861485891';\r\nzv=[1 10 15 8 4 6 7 15 8 1 1 1 ];\r\nvexp='eight five six five eight one nine one eight double nine three zero five two three six zero double two eight six seven one eight three eight three seven three one eight zero seven three nine zero two two eight three two one four nine four double seven six zero two four eight one double seven four five two one zero three one three two four four three eight six one four eight five eight nine one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='21770416464691789037472471701235435696232613781886745983083308143822448829';\r\nzv=[2 8 11 10 8 14 6 11 1 1 1 1 ];\r\nvexp='two one double seven zero four one six four six four six nine one seven eight nine zero three seven four seven two four seven one seven zero one two three five four three five six nine six two three two six one three seven eight one double eight six seven four five nine eight three zero eight three three zero eight one four three eight double two double four eight eight two nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='983249024136170290772296855218428763965301110152249';\r\nzv=[2 15 14 15 4 1 ];\r\nvexp='nine eight three two four nine zero two four one three six one seven zero two nine zero double seven double two nine six eight double five two one eight four two eight seven six three nine six five three zero triple one zero one five double two four nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='3480983214378717507995103066016574662185732516268288798294927774350570';\r\nzv=[13 10 15 11 3 3 14 1 ];\r\nvexp='three four eight zero nine eight three two one four three seven eight seven one seven five zero seven double nine five one zero three zero double six zero one six five seven four double six two one eight five seven three two five one six two six eight two double eight seven nine eight two nine four nine two triple seven four three five zero five seven zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='839728044162856119809065784052255130156664';\r\nzv=[9 7 10 15 1 ];\r\nvexp='eight three nine seven two eight zero double four one six two eight five six one one nine eight zero nine zero six five seven eight four zero five double two double five one three zero one five triple six four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1299716932675600468864013262733864936641800591739546149687053359054618';\r\nzv=[5 7 14 1 12 3 14 6 4 2 1 1 ];\r\nvexp='one two double nine seven one six nine three two six seven five six double zero four six double eight six four zero one three two six two seven double three eight six four nine three double six four one eight zero zero five nine one seven three nine five four six one four nine six eight seven zero five double three five nine zero five four six one eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7896269726657598138802619158139810768633428179202282443571484595761847181128041281628185246';\r\nzv=[2 7 8 5 6 6 11 9 5 10 12 3 7 ];\r\nvexp='seven eight nine six two six nine seven two double six five seven five nine eight one three double eight zero two six one nine one five eight one three nine eight one zero seven six eight six double three four two eight one seven nine two zero double two eight two double four three five seven one four eight four five nine five seven six one eight four seven one eight double one two eight zero four one two eight one six two eight one eight five two four six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='477658486684842559974665174626263159299857463838945503033';\r\nzv=[11 11 6 14 10 2 3 ];\r\nvexp='four double seven six five eight four eight double six eight four eight four two double five double nine seven four six six five one seven four six two six two six three one five nine two double nine eight five seven four six three eight three eight nine four double five zero three zero double three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='06875538368304839162889133713';\r\nzv=[3 10 1 14 1 ];\r\nvexp='zero six eight seven double five three eight three six eight three zero four eight three nine one six two double eight nine one double three seven one three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='45256104997445504657800410480176721551263917689055037098246476060427763254223140';\r\nzv=[14 10 11 2 3 5 12 15 1 4 2 1 ];\r\nvexp='four five two five six one zero four double nine seven double four five five zero four six five seven eight double zero four one zero four eight zero one seven six seven two one double five one two six three nine one seven six eight nine zero double five zero three seven zero nine eight two four six four seven six zero six zero four two double seven six three two five four double two three one four zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='6500507266637983912546668295413265536254049737120594152282943472025861287250184';\r\nzv=[3 9 4 9 13 7 7 15 10 1 1 ];\r\nvexp='six five zero zero five zero seven two triple six three seven nine eight three nine one two five four triple six eight two nine five four one three two six double five three six two five four zero four nine seven three seven one two zero five nine four one five double two eight two nine four three four seven two zero two five eight six one two eight seven two five zero one eight four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='90536923431844238372096379800359312024577754107934353901';\r\nzv=[9 14 14 11 5 3 ];\r\nvexp='nine zero five three six nine two three four three one eight double four two three eight three seven two zero nine six three seven nine eight double zero three five nine three one two zero two four five triple seven five four one zero seven nine three four three five three nine zero one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='194851729139154581103404918805045722094939046615745185586389015707908521547319803514384134067';\r\nzv=[6 4 13 10 9 14 6 11 3 9 2 2 3 1 ];\r\nvexp='one nine four eight five one seven two nine one three nine one five four five eight double one zero three four zero four nine one double eight zero five zero four five seven double two zero nine four nine three nine zero four double six one five seven four five one eight double five eight six three eight nine zero one five seven zero seven nine zero eight five two one five four seven three one nine eight zero three five one four three eight four one three four zero six seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7180221794361';\r\nzv=[3 7 3 ];\r\nvexp='seven one eight zero double two one seven nine four three six one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='328104734424917711259192901583138150643217809';\r\nzv=[3 8 8 15 5 5 1 ];\r\nvexp='three two eight one zero four seven three double four two four nine one double seven double one two five nine one nine two nine zero one five eight three one three eight one five zero six four three two one seven eight zero nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4012446744';\r\nzv=[8 1 1 ];\r\nvexp='four zero one two double four six seven four four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='75159567609950672038714189757246751900662587864067030579646570165557726996672';\r\nzv=[13 15 11 7 1 15 8 3 4 ];\r\nvexp='seven five one five nine five six seven six zero double nine five zero six seven two zero three eight seven one four one eight nine seven five seven two four six seven five one nine double zero six six two five eight seven eight six four zero six seven zero three zero five seven nine six four six five seven zero one six triple five double seven two six double nine double six seven two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='3799620377074233419333355599242743805155864309640885130882726110701418994547411411126234428060';\r\nzv=[7 9 1 15 13 7 8 15 8 2 6 3 ];\r\nvexp='three seven double nine six two zero three double seven zero seven four two double three four one nine quadruple three triple five double nine two four two seven four three eight zero five one double five eight six four three zero nine six four zero double eight five one three zero double eight two seven two six double one zero seven zero one four one eight double nine four five four seven four double one four triple one two six two three double four two eight zero six zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4044617922891601574869890265644168731524925085154541620867323759734908590210726392474762696192267779';\r\nzv=[11 10 11 14 12 2 4 1 11 7 10 2 1 4 ];\r\nvexp='four zero double four six one seven nine double two eight nine one six zero one five seven four eight six nine eight nine zero two six five six double four one six eight seven three one five two four nine two five zero eight five one five four five four one six two zero eight six seven three two three seven five nine seven three four nine zero eight five nine zero two one zero seven two six three nine two four seven four seven six two six nine six one nine double two six triple seven nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='496013127684385845636701597670212145677337967472957547809568709115873526515';\r\nzv=[3 3 8 7 2 10 9 4 15 9 5 ];\r\nvexp='four nine six zero one three one two seven six eight four three eight five eight four five six three six seven zero one five nine seven six seven zero two one two one four five six double seven double three seven nine six seven four seven two nine five seven five four seven eight zero nine five six eight seven zero nine double one five eight seven three five two six five one five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='820821167030568093577157791027439613729645803722099835506620383';\r\nzv=[10 5 12 5 9 7 12 1 1 1 ];\r\nvexp='eight two zero eight two double one six seven zero three zero five six eight zero nine three five double seven one five double seven nine one zero two seven four three nine six one three seven two nine six four five eight zero three seven double two zero double nine eight three double five zero double six two zero three eight three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='408657487448884114668701663855295152810754544275633734090577026733934929585122688051672821523';\r\nzv=[9 12 14 7 13 4 11 14 5 1 1 2 ];\r\nvexp='four zero eight six five seven four eight seven double four triple eight four double one four double six eight seven zero one double six three eight double five two nine five one five two eight one zero seven five four five double four two seven five six double three seven three four zero nine zero five seven seven zero two six seven double three nine three four nine two nine five eight five one double two six double eight zero five one six seven two eight two one five two three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='83666830362426720310982782694422780383449883455418709';\r\nzv=[12 1 5 6 9 9 3 2 5 1 ];\r\nvexp='eight three triple six eight three zero three six two four two six seven two zero three one zero nine eight two seven eight two six nine double four double two seven eight zero three eight three double four nine eight eight three four double five four one eight seven zero nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='70';\r\nzv=[2 ];\r\nvexp='seven zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='65766688929471206192343267171090766327239398418349595012751051227962607';\r\nzv=[3 11 13 6 13 11 9 5 ];\r\nvexp='six five seven triple six double eight nine two nine four seven one two zero six one nine two three four three two six seven one seven one zero nine zero seven double six three two seven two three nine three nine eight four one eight three four nine five nine five zero one two seven five one zero five one double two seven nine six two six zero seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='48133338660378550326078225767453276529';\r\nzv=[11 14 13 ];\r\nvexp='four eight one quadruple three eight double six zero three seven eight double five zero three two six zero seven eight double two five seven six seven four five three two seven six five two nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='36891843662484180026365939189054753849425696106318144849957054540856';\r\nzv=[1 5 14 8 6 13 11 4 2 3 1 ];\r\nvexp='three six eight nine one eight four three double six two four eight four one eight double zero two six three six five nine three nine one eight nine zero five four seven five three eight four nine four two five six nine six one zero six three one eight one double four eight four double nine five seven zero five four five four zero eight five six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='34612462486594272419457058352837598957197066493857794521556931700796417114875';\r\nzv=[4 3 13 11 10 4 7 7 6 8 4 ];\r\nvexp='three four six one two four six two four eight six five nine four two seven two four one nine four five seven zero five eight three five two eight three seven five nine eight nine five seven one nine seven zero double six four nine three eight five double seven nine four five two one double five six nine three one seven double zero seven nine six four one seven double one four eight seven five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='589307734140137421765302377855535665358764079941118868097';\r\nzv=[5 11 10 15 1 13 1 1 ];\r\nvexp='five eight nine three zero double seven three four one four zero one three seven four two one seven six five three zero two three seven seven eight triple five three five double six five three five eight seven six four zero seven double nine four triple one double eight six eight zero nine seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='3672631606882947123107630174376653028408088502237547432460099875379219240390535201264402423';\r\nzv=[12 1 6 4 1 9 13 15 7 12 6 2 3 ];\r\nvexp='three six seven two six three one six zero six double eight two nine four seven one two three one zero seven six three zero one seven four three seven double six five three zero two eight four zero eight zero double eight five zero two two three seven five four seven four three two four six double zero double nine eight seven five three seven nine two one nine two four zero three nine zero five three five two zero one two six double four zero two four two three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='071297839181663799718842689232241580363293469938821908366311';\r\nzv=[8 9 3 4 4 1 4 9 15 2 1 ];\r\nvexp='zero seven one two nine seven eight three nine one eight one double six three seven nine nine seven one double eight four two six eight nine two three double two four one five eight zero three six three two nine three four six double nine three double eight two one nine zero eight three double six three one one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='76980639645671034156972091320389208';\r\nzv=[5 9 7 9 2 2 1 ];\r\nvexp='seven six nine eight zero six three nine six four five six seven one zero three four one five six nine seven two zero nine one three two zero three eight nine two zero eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5521307963254865684315120841260812155841496873543096528814951132569054';\r\nzv=[13 5 14 11 13 8 1 3 2 ];\r\nvexp='double five two one three zero seven nine six three two five four eight six five six eight four three one five one two zero eight four one two six zero eight one two one double five eight four one four nine six eight seven three five four three zero nine six five two double eight one four nine five double one three two five six nine zero five four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9288';\r\nzv=[2 1 1 ];\r\nvexp='nine two eight eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0477182564467935086';\r\nzv=[15 3 1 ];\r\nvexp='zero four double seven one eight two five six double four six seven nine three five zero eight six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1433203960656799099205210173223686919427402173272324965993447708611755416843183525933643187989942239';\r\nzv=[8 10 1 14 8 13 15 6 1 13 8 3 ];\r\nvexp='one four double three two zero three nine six zero six five six seven double nine zero nine nine two zero five two one zero one seven three double two three six eight six nine one nine four two seven four zero two one seven three two seven two three two four nine six five double nine three double four double seven zero eight six double one seven five five four one six eight four three one eight three five two five nine double three six four three one eight seven nine eight double nine four two two three nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='82446767675781104095354046763771917813590078380710445861437926027908370597627610';\r\nzv=[9 1 2 4 4 3 2 15 14 9 4 6 1 5 1 ];\r\nvexp='eight two double four six seven six seven six seven five seven eight double one zero four zero nine five three five four zero four six seven six three double seven one nine one seven eight one three five nine double zero seven eight three eight zero seven one zero double four five eight six one four three seven nine two six zero two seven nine zero eight three seven zero five nine seven six two seven six one zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='305859569860086103046061825673705281159146364994491117222909271811137063811520971285027239387660793';\r\nzv=[12 2 7 15 6 3 1 6 3 8 7 10 5 10 4 ];\r\nvexp='three zero five eight five nine five six nine eight six zero zero eight six one zero three zero four six zero six one eight two five six seven three seven zero five two eight one one five nine one four six three six four nine nine double four nine double one one seven two double two nine zero nine two seven one eight triple one three seven zero six three eight double one five two zero nine seven one two eight five zero two seven two three nine three eight seven double six zero seven nine three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5190986793820061002';\r\nzv=[8 7 4 ];\r\nvexp='five one nine zero nine eight six seven nine three eight two double zero six one double zero two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='732818804656837051738362946791984298270657440266341399683255575214033229065283049378339674351';\r\nzv=[10 3 8 14 3 4 13 7 3 4 14 9 1 ];\r\nvexp='seven three two eight one double eight zero four six five six eight three seven zero five one seven three eight three six two nine four six seven nine one nine eight four two nine eight two seven zero six five seven double four zero two double six three four one three double nine six eight three two triple five seven five two one four zero double three double two nine zero six five two eight three zero four nine three seven eight double three nine six seven four three five one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='22878757492589018002205051162666163148087357471571794221657045672188988933603952144766843';\r\nzv=[7 10 8 14 13 5 11 4 15 1 1 ];\r\nvexp='double two eight seven eight seven five seven four nine two five eight nine zero one eight double zero double two zero five zero five double one six two triple six one six three one four eight zero eight seven three five seven four seven one five seven one seven nine four double two one six five seven zero four five six seven two one double eight nine double eight nine double three six zero three nine five two one double four seven double six eight four three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='68748245479848622009943617274780676690467343336858764026953343';\r\nzv=[1 11 14 3 10 13 5 1 1 2 1 ];\r\nvexp='six eight seven four eight two four five four seven nine eight four eight six double two double zero double nine four three six one seven two seven four seven eight zero six seven double six nine zero four six seven three four triple three six eight five eight seven six four zero two six nine five three three four three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='812443820860567150296801089721522978252459617325444234454527699088834091962915459804249813572793576';\r\nzv=[2 8 1 1 15 4 8 14 1 10 8 8 15 1 2 1 ];\r\nvexp='eight one two double four three eight two zero eight six zero five six seven one five zero two nine six eight zero one zero eight nine seven two one five double two nine seven eight two five two four five nine six one seven three two five triple four two three four four five four five two seven six double nine zero triple eight three four zero nine one nine six two nine one five four five nine eight zero four two four nine eight one three five seven two seven nine three five seven six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='00993661068572459991536596938758768256572549986877220';\r\nzv=[9 11 7 7 12 7 ];\r\nvexp='double zero double nine three double six one zero six eight five seven two four five triple nine one five three six five nine six nine three eight seven five eight seven six eight two five six five seven two five four double nine eight six eight double seven double two zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='27715163656297176275418439056931612320615454463000744707732526889213294949588908195775568';\r\nzv=[15 2 13 1 3 6 2 15 4 1 10 9 7 1 ];\r\nvexp='two double seven one five one six three six five six two nine seven one seven six two seven five four one eight four three nine zero five six nine three one six one two three two zero six one five four five double four six three triple zero seven double four seven zero double seven three two five two six double eight nine two one three two nine four nine four nine five double eight nine zero eight one nine five double seven double five six eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='66836591190528744386233121519205009660791065830470';\r\nzv=[9 10 6 12 13 ];\r\nvexp='double six eight three six five nine double one nine zero five two eight seven double four three eight six two double three one two one five one nine two zero five double zero nine double six zero seven nine one zero six five eight three zero four seven zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9908105226888800867627299504353445485000888760967649670742';\r\nzv=[5 6 8 5 2 10 6 7 3 3 3 ];\r\nvexp='double nine zero eight one zero five double two six eight triple eight double zero eight six seven six two seven two nine nine five zero four three five three double four five four eight five triple zero double eight eight seven six zero nine six seven six four nine six seven zero seven four two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='23013192041633596995161673827352665194498573133742450639121977';\r\nzv=[14 9 11 9 10 5 4 ];\r\nvexp='two three zero one three one nine two zero four one six double three five nine six double nine five one six one six seven three eight two seven three five two double six five one nine double four nine eight five seven three one double three seven four two four five zero six three nine one two one nine double seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='561876161628602626933868362823471568496758529903516004832334874950999565539';\r\nzv=[2 14 12 12 1 3 10 14 1 5 1 ];\r\nvexp='five six one eight seven six one six one six two eight six zero two six two six nine double three eight six eight three six two eight two three four seven one five six eight four nine six seven five eight five two double nine zero three five one six double zero four eight three two double three four eight seven four nine five zero double nine nine five six double five three nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0659336967718923857487379930716973116724796708015053702806099696109';\r\nzv=[15 10 2 5 12 9 11 2 1 ];\r\nvexp='zero six five nine double three six nine six double seven one eight nine two three eight five seven four eight seven three seven nine nine three zero seven one six nine seven three double one six seven two four seven nine six seven zero eight zero one five zero five three seven zero two eight zero six zero double nine six nine six one zero nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='2544353234854864102426825493629094429744221828448703587259611510954048582897631523802527480763958';\r\nzv=[9 9 5 9 1 11 2 9 5 4 1 10 12 10 ];\r\nvexp='two five double four three five three two three four eight five four eight six four one zero two four two six eight two five four nine three six two nine zero nine double four two nine seven double four double two one eight two eight double four eight seven zero three five eight seven two five nine six one one five one zero nine five four zero four eight five eight two eight nine seven six three one five two three eight zero two five two seven four eight zero seven six three nine five eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='743482174037207702159915214008';\r\nzv=[2 10 10 7 1 ];\r\nvexp='seven four three four eight two one seven four zero three seven two zero double seven zero two one five double nine one five two one four double zero eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='971685936861297496680545';\r\nzv=[2 1 3 3 8 3 2 2 ];\r\nvexp='nine seven one six eight five nine three six eight six one two nine seven four nine double six eight zero five four five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='06384119765848786807703567200612243886752458257039700258908161';\r\nzv=[10 1 12 5 9 7 1 8 5 2 2 ];\r\nvexp='zero six three eight four double one nine seven six five eight four eight seven eight six eight zero double seven zero three five six seven two zero zero six one double two four three double eight six seven five two four five eight two five seven zero three nine seven double zero two five eight nine zero eight one six one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='661888688696858666215517613281167258136127005883725278169489607542378190912692984613629598';\r\nzv=[12 6 4 10 8 13 9 12 8 2 2 3 1 ];\r\nvexp='double six one triple eight six double eight six nine six eight five eight triple six two one double five one seven six one three two eight double one six seven two five eight one three six one two seven double zero five double eight three seven two five two seven eight one six nine four eight nine six zero seven five four two three seven eight one nine zero nine one two six nine two nine eight four six one three six two nine five nine eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='11869488318253809620396499';\r\nzv=[8 8 4 4 2 ];\r\nvexp='double one eight six nine four double eight three one eight two five three eight zero nine six two zero three nine six four double nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='3247242326877973396352267916489703639981791';\r\nzv=[10 6 9 1 14 3 ];\r\nvexp='three two four seven two four two three two six eight double seven nine seven three three nine six three five double two six seven nine one six four eight nine seven zero three six three double nine eight one seven nine one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='8446827840499583394994945831973919523300569749298887484989096588752282260';\r\nzv=[13 4 10 14 13 11 8 ];\r\nvexp='eight double four six eight two seven eight four zero four double nine five eight double three nine four double nine four nine four five eight three one nine seven three nine one nine five two double three double zero five six nine seven four nine two nine triple eight seven four eight four nine eight nine zero nine six five double eight seven five double two eight double two six zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='411450';\r\nzv=[3 2 1 ];\r\nvexp='four double one four five zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4392336769670743812140126277793124578244122498979213427064735267724740372712';\r\nzv=[11 12 7 15 6 5 10 5 4 1 ];\r\nvexp='four three nine two double three six seven six nine six seven zero seven four three eight one two one four zero one two six two triple seven nine three one two four five seven eight two double four one double two four nine eight nine seven nine two one three four two seven zero six four seven three five two six double seven two four seven four zero three seven two seven one two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='787130205914703441344904';\r\nzv=[5 6 7 4 1 1 ];\r\nvexp='seven eight seven one three zero two zero five nine one four seven zero three double four one three double four nine zero four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='12774525496510270478837791597218598140900';\r\nzv=[3 3 14 8 5 1 6 1 ];\r\nvexp='one two seven seven four five two five four nine six five one zero two seven zero four seven eight eight three double seven nine one five nine seven two one eight five nine eight one four zero nine zero zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='8337240067278766126028792694666601545641';\r\nzv=[1 3 2 9 7 3 12 3 ];\r\nvexp='eight double three seven two four double zero six seven two seven eight seven six six one two six zero two eight seven nine two six nine four quadruple six zero one five four five six four one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='07284423399956161619055960652374322967216';\r\nzv=[3 1 12 6 10 8 1 ];\r\nvexp='zero seven two eight double four two double three triple nine five six one six one six one nine zero five five nine six zero six five two three seven four three double two nine six seven two one six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='014588023080298629688';\r\nzv=[1 11 4 4 1 ];\r\nvexp='zero one four five double eight zero two three zero eight zero two nine eight six two nine six eight eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='391932612615185460799778659969591684168549057796895984';\r\nzv=[13 7 2 2 7 3 14 2 3 1 ];\r\nvexp='three nine one nine three two six one two six one five one eight five four six zero seven nine nine seven seven eight six five double nine six nine five nine one six eight four one six eight five four nine zero five double seven nine six eight nine five nine eight four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='85267068576145';\r\nzv=[9 3 1 1 ];\r\nvexp='eight five two six seven zero six eight five seven six one four five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\ntoc\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":1,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-09-29T21:50:16.000Z","updated_at":"2013-09-29T21:58:27.000Z","published_at":"2013-09-29T21:58:27.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/2924486/dashboard\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 China Read Phone Number\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Large Case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Goal is to output a string for the reading of a segmented phone number. When numbers are replicated within a segment the number is preceded by its multiplier. If there are more than 10 repeats in a segment then the number is output for the number of occurrences. Count multipliers are double, triple, quadruple, quintuple, sextuple, septuple, octuple, nonuple, and decuple for 2 thru 10, respectively. The \u0026gt; 10 repeats occurs in the Large Data set.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [Number, Segments] where Number is a string and segments is a Vector that sums to the length of Number\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Text, a string of the reading based upon segments\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[[Number,Segments]  [Text]\\n  ['15012233444', [3 4 4]] ['one five zero one double two three three triple four']\\n  ['15012233444', [3 3 5]] ['one five zero one double two double three triple four']]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eContest Performance:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Best Time of 12 minutes with 1094 of 3058 able to process the Large data set.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":1934,"title":"GJam 2014 China Rd B: Sudoku Checker","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/2929486/dashboard#s=p0 GJam 2014 China Sudoku\u003e. Large Case.\r\n\r\nThe Goal is determine if the Sudoku square is valid. Each row and column  must contain 1:N, for an NxN matix. Nroot=N^.5. Each NrootxNroot block must contain 1:N where blocks start at [1,1+Nroot,...] in Row/Col.\r\n\r\n\r\n*Input:* [M], NxN matrix (3^2\u003c=N\u003c=6^2)\r\n\r\n*Output:* TF, 1=Valid, 0=Invalid\r\n\r\n*Examples:*\r\n\r\n  TF=1\r\n  5 3 4 6 7 8 9 1 2\r\n  6 7 2 1 9 5 3 4 8\r\n  1 9 8 3 4 2 5 6 7\r\n  8 5 9 7 6 1 4 2 3\r\n  4 2 6 8 5 3 7 9 1\r\n  7 1 3 9 2 4 8 5 6\r\n  9 6 1 5 3 7 2 8 4\r\n  2 8 7 4 1 9 6 3 5\r\n  3 4 5 2 8 6 1 7 9\r\n  \r\n  TF=0\r\n  5 3 4 6 7 8 9 1 2\r\n  6 7 2 1 9 5 3 4 8\r\n  1 9 8 3 4 2 5 6 7\r\n  8 5 9 7 6 1 4 2 3\r\n  4 2 6 8 999 3 7 9 1\r\n  7 1 3 9 2 4 8 5 6\r\n  9 6 1 5 3 7 2 8 4\r\n  2 8 7 4 1 9 6 3 5\r\n  3 4 5 2 8 6 1 7 9\r\n\r\n\r\n*Contest Performance:* Best Delta Time of 7 minutes with 1146 of 2010 able to process the large data set.\r\n","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/2929486/dashboard#s=p0\"\u003eGJam 2014 China Sudoku\u003c/a\u003e. Large Case.\u003c/p\u003e\u003cp\u003eThe Goal is determine if the Sudoku square is valid. Each row and column  must contain 1:N, for an NxN matix. Nroot=N^.5. Each NrootxNroot block must contain 1:N where blocks start at [1,1+Nroot,...] in Row/Col.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [M], NxN matrix (3^2\u0026lt;=N\u0026lt;=6^2)\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e TF, 1=Valid, 0=Invalid\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eTF=1\r\n5 3 4 6 7 8 9 1 2\r\n6 7 2 1 9 5 3 4 8\r\n1 9 8 3 4 2 5 6 7\r\n8 5 9 7 6 1 4 2 3\r\n4 2 6 8 5 3 7 9 1\r\n7 1 3 9 2 4 8 5 6\r\n9 6 1 5 3 7 2 8 4\r\n2 8 7 4 1 9 6 3 5\r\n3 4 5 2 8 6 1 7 9\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003eTF=0\r\n5 3 4 6 7 8 9 1 2\r\n6 7 2 1 9 5 3 4 8\r\n1 9 8 3 4 2 5 6 7\r\n8 5 9 7 6 1 4 2 3\r\n4 2 6 8 999 3 7 9 1\r\n7 1 3 9 2 4 8 5 6\r\n9 6 1 5 3 7 2 8 4\r\n2 8 7 4 1 9 6 3 5\r\n3 4 5 2 8 6 1 7 9\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eContest Performance:\u003c/b\u003e Best Delta Time of 7 minutes with 1146 of 2010 able to process the large data set.\u003c/p\u003e","function_template":"function TF=Sudoku_CH(m)\r\n TF=0;\r\nend","test_suite":"%%\r\nzm=[13 4 3 6 1 8 7 10 5 12 11 14 9 16 15 2 ;2 5 8 7 6 9 12 11 10 13 16 15 14 1 4 3 ;15 14 1 12 3 2 5 16 7 6 9 4 11 10 13 8 ;16 11 10 9 4 15 14 13 8 3 2 1 12 7 6 5 ;1 8 7 10 5 12 11 14 9 16 15 2 13 4 3 6 ;6 9 12 11 10 13 16 15 14 1 4 3 2 5 8 7 ;3 2 5 16 7 6 9 4 11 10 13 8 15 14 1 12 ;4 15 14 13 8 3 2 1 12 7 6 5 16 11 10 9 ;5 12 11 14 9 16 15 2 13 4 3 6 1 8 7 10 ;10 13 16 15 14 1 4 3 2 5 8 7 6 9 12 11 ;7 6 9 4 11 10 13 8 15 14 1 12 3 2 5 16 ;8 3 2 1 12 7 6 5 16 11 10 9 4 15 14 13 ;9 16 15 2 13 4 3 6 1 8 7 10 5 12 11 14 ;14 1 4 3 2 5 8 7 6 9 12 11 10 13 16 15 ;11 10 13 8 15 14 1 12 3 2 5 16 7 6 9 4 ;12 7 6 5 16 11 10 9 4 15 14 13 8 3 2 1 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[7 36 5 16 33 32 13 6 11 22 3 2 19 12 17 28 9 8 25 18 23 34 15 14 31 24 29 4 21 20 1 30 35 10 27 26 ;20 25 30 17 10 3 26 31 36 23 16 9 32 1 6 29 22 15 2 7 12 35 28 21 8 13 18 5 34 27 14 19 24 11 4 33 ;27 26 13 24 11 4 33 32 19 30 17 10 3 2 25 36 23 16 9 8 31 6 29 22 15 14 1 12 35 28 21 20 7 18 5 34 ;34 9 8 19 18 29 4 15 14 25 24 35 10 21 20 31 30 5 16 27 26 1 36 11 22 33 32 7 6 17 28 3 2 13 12 23 ;35 22 15 14 31 6 5 28 21 20 1 12 11 34 27 26 7 18 17 4 33 32 13 24 23 10 3 2 19 30 29 16 9 8 25 36 ;12 23 28 21 2 1 18 29 34 27 8 7 24 35 4 33 14 13 30 5 10 3 20 19 36 11 16 9 26 25 6 17 22 15 32 31 ;13 6 11 22 3 2 19 12 17 28 9 8 25 18 23 34 15 14 31 24 29 4 21 20 1 30 35 10 27 26 7 36 5 16 33 32 ;26 31 36 23 16 9 32 1 6 29 22 15 2 7 12 35 28 21 8 13 18 5 34 27 14 19 24 11 4 33 20 25 30 17 10 3 ;33 32 19 30 17 10 3 2 25 36 23 16 9 8 31 6 29 22 15 14 1 12 35 28 21 20 7 18 5 34 27 26 13 24 11 4 ;4 15 14 25 24 35 10 21 20 31 30 5 16 27 26 1 36 11 22 33 32 7 6 17 28 3 2 13 12 23 34 9 8 19 18 29 ;5 28 21 20 1 12 11 34 27 26 7 18 17 4 33 32 13 24 23 10 3 2 19 30 29 16 9 8 25 36 35 22 15 14 31 6 ;18 29 34 27 8 7 24 35 4 33 14 13 30 5 10 3 20 19 36 11 16 9 26 25 6 17 22 15 32 31 12 23 28 21 2 1 ;19 12 17 28 9 8 25 18 23 34 15 14 31 24 29 4 21 20 1 30 35 10 27 26 7 36 5 16 33 32 13 6 11 22 3 2 ;32 1 6 29 22 15 2 7 12 35 28 21 8 13 18 5 34 27 14 19 24 11 4 33 20 25 30 17 10 3 26 31 36 23 16 9 ;3 2 25 36 23 16 9 8 31 6 29 22 15 14 1 12 35 28 21 20 7 18 5 34 28 26 13 24 11 4 33 32 19 30 17 10 ;10 21 20 31 30 5 16 27 26 1 36 11 22 33 32 7 6 17 28 3 2 13 12 23 34 9 8 19 18 29 4 15 14 25 24 35 ;11 34 27 26 7 18 17 4 33 32 13 24 23 10 3 2 19 30 29 16 9 8 25 36 35 22 15 14 31 6 5 28 21 20 1 12 ;24 35 4 33 14 13 30 5 10 3 20 19 36 11 16 9 26 25 6 17 22 15 32 31 12 23 28 21 2 1 18 29 34 27 8 7 ;25 18 23 34 15 14 31 24 29 4 21 20 1 30 35 10 27 26 7 36 5 16 33 32 13 6 11 22 3 2 19 12 17 28 9 8 ;2 7 12 35 28 21 8 13 18 5 34 27 14 19 24 11 4 33 20 25 30 17 10 3 26 31 36 23 16 9 32 1 6 29 22 15 ;9 8 31 6 29 22 15 14 1 12 35 28 21 20 7 18 5 34 27 26 13 24 11 4 33 32 19 30 17 10 3 2 25 36 23 16 ;16 27 26 1 36 11 22 33 32 7 6 17 28 3 2 13 12 23 34 9 8 19 18 29 4 15 14 25 24 35 10 21 20 31 30 5 ;17 4 33 32 13 24 23 10 3 2 19 30 29 16 9 8 25 36 35 22 15 14 31 6 5 28 21 20 1 12 11 34 27 26 7 18 ;30 5 10 3 20 19 36 11 16 9 26 25 6 17 22 15 32 31 12 23 28 21 2 1 18 29 34 27 8 7 24 35 4 33 14 13 ;31 24 29 4 21 20 1 30 35 10 27 26 7 36 5 16 33 32 13 6 11 22 3 2 19 12 17 28 9 8 25 18 23 34 15 14 ;8 13 18 5 34 27 14 19 24 11 4 33 20 25 30 17 10 3 26 31 36 23 16 9 32 1 6 29 22 15 2 7 12 35 28 21 ;15 14 1 12 35 28 21 20 7 18 5 34 27 26 13 24 11 4 33 32 19 30 17 10 3 2 25 36 23 16 9 8 31 6 29 22 ;22 33 32 7 6 17 28 3 2 13 12 23 34 9 8 19 18 29 4 15 14 25 24 35 10 21 20 31 30 5 16 27 26 1 36 11 ;23 10 3 2 19 30 29 16 9 8 25 36 35 22 15 14 31 6 5 28 21 20 1 12 11 34 27 26 7 18 17 4 33 32 13 24 ;36 11 16 9 26 25 6 17 22 15 32 31 12 23 28 21 2 1 18 29 34 27 8 7 24 35 4 33 14 13 30 5 10 3 20 19 ;1 30 35 10 27 26 7 36 5 16 33 32 13 6 11 22 3 2 19 12 17 28 9 8 25 18 23 34 15 14 31 24 29 4 21 20 ;14 19 24 11 4 33 20 25 30 17 10 3 26 31 36 23 16 9 32 1 6 29 22 15 2 7 12 35 28 21 8 13 18 5 34 27 ;21 20 7 18 5 34 27 26 13 24 11 4 33 32 19 30 17 10 3 2 25 36 23 16 9 8 31 6 29 22 15 14 1 12 35 28 ;28 3 2 13 12 23 34 9 8 19 18 29 4 15 14 25 24 35 10 21 20 31 30 5 16 27 26 1 36 11 22 33 32 7 6 17 ;29 16 9 8 25 36 35 22 15 14 31 6 5 28 21 20 1 12 11 34 27 26 7 18 17 4 33 32 13 24 23 10 3 2 19 30 ;6 17 22 15 32 31 12 23 28 21 2 1 18 29 34 27 8 7 24 35 4 33 14 13 30 5 10 3 20 19 36 11 16 9 26 25 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[5 8 7 10 9 12 11 14 13 16 15 2 1 4 3 6 ;14 13 13 11 2 1 16 15 6 5 4 3 10 9 8 7 ;3 6 1 4 7 10 5 8 11 14 9 12 15 2 13 16 ;16 15 2 9 4 3 6 13 8 7 10 1 12 11 14 5 ;9 12 11 14 13 16 15 2 1 4 3 6 5 8 7 10 ;2 1 16 15 6 5 4 3 10 9 8 7 14 13 12 11 ;7 10 5 8 11 14 9 12 15 2 13 16 3 6 1 4 ;4 3 6 13 8 7 10 1 12 11 14 5 16 15 2 9 ;13 16 15 2 1 4 3 6 5 8 7 10 9 12 11 14 ;6 5 4 3 10 9 8 7 14 13 12 11 2 1 16 15 ;11 14 9 12 15 2 13 16 3 6 1 4 7 10 5 8 ;8 7 10 1 12 11 14 5 16 15 2 9 4 3 6 13 ;1 4 3 6 5 8 7 10 9 12 11 14 13 16 15 2 ;10 9 8 7 14 13 12 11 2 1 16 15 6 5 4 3 ;15 2 13 16 3 6 1 4 7 10 5 8 11 14 9 12 ;12 11 14 5 16 15 2 9 4 3 6 13 8 7 10 1 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[5 12 3 14 9 16 7 2 13 4 11 6 1 8 15 10 ;6 9 4 11 10 13 8 16 14 1 12 3 2 5 16 7 ;7 10 1 16 11 14 5 4 15 2 9 8 3 6 13 12 ;8 15 2 13 12 3 6 1 16 7 10 5 4 11 14 9 ;9 16 7 2 13 4 11 6 1 8 15 10 5 12 3 14 ;10 13 8 15 14 1 12 3 2 5 16 7 6 9 4 11 ;11 14 5 4 15 2 9 8 3 6 13 12 7 10 1 16 ;12 3 6 1 16 7 10 5 4 11 14 9 8 15 2 13 ;13 4 11 6 1 8 15 10 5 12 3 14 9 16 7 2 ;14 1 12 3 2 5 16 7 6 9 4 11 10 13 8 15 ;15 2 9 8 3 6 13 12 7 10 1 16 11 14 5 4 ;16 7 10 5 4 11 14 9 8 15 2 13 12 3 6 1 ;1 8 15 10 5 12 3 14 9 16 7 2 13 4 11 6 ;2 5 16 7 6 9 4 11 10 13 8 15 14 1 12 3 ;3 6 13 12 7 10 1 16 11 14 5 4 15 2 9 8 ;4 11 14 9 8 15 2 13 12 3 6 1 16 7 10 5 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 3 8 4 6 2 7 9 5 ;2 7 6 5 1 9 8 4 3 ;9 5 4 3 8 7 6 2 1 ;4 6 2 7 9 5 1 3 8 ;5 1 9 8 4 3 2 7 6 ;3 8 7 6 2 1 9 5 4 ;7 9 5 1 3 8 4 6 2 ;8 4 3 2 7 6 5 1 9 ;6 2 1 9 5 4 3 8 7 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[31 36 11 22 33 20 1 6 17 28 3 26 7 12 23 34 9 32 13 18 29 4 15 2 19 24 35 10 21 8 25 30 5 16 27 14 ;14 25 6 29 34 15 20 31 12 35 4 21 26 1 18 5 10 27 32 7 24 11 16 33 2 13 30 17 22 3 8 19 36 23 28 9 ;3 2 13 12 5 28 9 8 19 18 11 34 15 14 25 24 17 4 21 20 31 30 23 10 27 26 1 36 29 16 33 32 7 6 35 22 ;16 9 26 1 24 17 22 15 32 7 30 23 28 21 2 13 36 29 34 27 8 19 6 35 4 33 14 25 12 5 10 3 20 31 18 11 ;23 4 21 8 19 18 29 10 27 14 25 24 35 16 33 20 31 30 5 22 3 26 1 36 11 28 9 32 7 6 17 34 15 2 13 12 ;30 35 10 27 32 7 36 5 16 33 2 13 6 11 22 3 8 19 12 17 28 9 14 25 18 23 34 15 20 31 24 29 4 21 26 1 ;1 6 17 28 3 26 7 12 23 34 9 32 13 18 29 4 15 2 19 24 35 10 21 8 25 30 5 16 27 14 31 36 11 22 33 20 ;20 31 12 35 4 21 26 1 18 5 10 27 32 7 24 11 16 33 2 13 30 17 22 3 8 19 36 23 28 9 14 25 6 29 34 15 ;9 8 19 18 11 34 15 14 25 24 17 4 21 20 31 30 23 10 27 26 1 36 29 16 33 32 7 6 35 22 3 2 13 12 5 28 ;22 15 32 7 30 23 28 21 2 13 36 29 34 27 8 19 6 35 4 33 14 25 12 5 10 3 20 31 18 11 16 9 26 1 24 17 ;29 10 27 14 25 24 35 16 33 20 31 30 5 22 3 26 1 36 11 28 9 32 7 6 17 34 15 2 13 12 23 4 21 8 19 18 ;36 5 16 33 2 13 6 11 22 3 8 19 12 17 28 9 14 25 18 23 34 15 20 31 24 29 4 21 26 1 30 35 10 27 32 7 ;7 12 23 34 9 32 13 18 29 4 15 2 19 24 35 10 21 8 25 30 5 16 27 14 31 36 11 22 33 20 1 6 17 28 3 26 ;26 1 18 5 10 27 32 7 24 11 16 33 2 13 30 17 22 3 8 19 36 23 29 9 14 25 6 29 34 15 20 31 12 35 4 21 ;15 14 25 24 17 4 21 20 31 30 23 10 27 26 1 36 29 16 33 32 7 6 35 22 3 2 13 12 5 28 9 8 19 18 11 34 ;28 21 2 13 36 29 34 27 8 19 6 35 4 33 14 25 12 5 10 3 20 31 18 11 16 9 26 1 24 17 22 15 32 7 30 23 ;35 16 33 20 31 30 5 22 3 26 1 36 11 28 9 32 7 6 17 34 15 2 13 12 23 4 21 8 19 18 29 10 27 14 25 24 ;6 11 22 3 8 19 12 17 28 9 14 25 18 23 34 15 20 31 24 29 4 21 26 1 30 35 10 27 32 7 36 5 16 33 2 13 ;13 18 29 4 15 2 19 24 35 10 21 8 25 30 5 16 27 14 31 36 11 22 33 20 1 6 17 28 3 26 7 12 23 34 9 32 ;32 7 24 11 16 33 2 13 30 17 22 3 8 19 36 23 28 9 14 25 6 29 34 15 20 31 12 35 4 21 26 1 18 5 10 27 ;21 20 31 30 23 10 27 26 1 36 29 16 33 32 7 6 35 22 3 2 13 12 5 28 9 8 19 18 11 34 15 14 25 24 17 4 ;34 27 8 19 6 35 4 33 14 25 12 5 10 3 20 31 18 11 16 9 26 1 24 17 22 15 32 7 30 23 28 21 2 13 36 29 ;5 22 3 26 1 36 11 28 9 32 7 6 17 34 15 2 13 12 23 4 21 8 19 18 29 10 27 14 25 24 35 16 33 20 31 30 ;12 17 28 9 14 25 18 23 34 15 20 31 24 29 4 21 26 1 30 35 10 27 32 7 36 5 16 33 2 13 6 11 22 3 8 19 ;19 24 35 10 21 8 25 30 5 16 27 14 31 36 11 22 33 20 1 6 17 28 3 26 7 12 23 34 9 32 13 18 29 4 15 2 ;2 13 30 17 22 3 8 19 36 23 28 9 14 25 6 29 34 15 20 31 12 35 4 21 26 1 18 5 10 27 32 7 24 11 16 33 ;27 26 1 36 29 16 33 32 7 6 35 22 3 2 13 12 5 28 9 8 19 18 11 34 15 14 25 24 17 4 21 20 31 30 23 10 ;4 33 14 25 12 5 10 3 20 31 18 11 16 9 26 1 24 17 22 15 32 7 30 23 28 21 2 13 36 29 34 27 8 19 6 35 ;11 28 9 32 7 6 17 34 15 2 13 12 23 4 21 8 19 18 29 10 27 14 25 24 35 16 33 20 31 30 5 22 3 26 1 36 ;18 23 34 15 20 31 24 29 4 21 26 1 30 35 10 27 32 7 36 5 16 33 2 13 6 11 22 3 8 19 12 17 28 9 14 25 ;25 30 5 16 27 14 31 36 11 22 33 20 1 6 17 28 3 26 7 12 23 34 9 32 13 18 29 4 15 2 19 24 35 10 21 8 ;8 19 36 23 28 9 14 25 6 29 34 15 20 31 12 35 4 21 26 1 18 5 10 27 32 7 24 11 16 33 2 13 30 17 22 3 ;33 32 7 6 35 22 3 2 13 12 5 28 9 8 19 18 11 34 15 14 25 24 17 4 21 20 31 30 23 10 27 26 1 36 29 16 ;10 3 20 31 18 11 16 9 26 1 24 17 22 15 32 7 30 23 28 21 2 13 36 29 34 27 8 19 6 35 4 33 14 25 12 5 ;17 34 15 2 13 12 23 4 21 8 19 18 29 10 27 14 25 24 35 16 33 20 31 30 5 22 3 26 1 36 11 28 9 32 7 6 ;24 29 4 21 26 1 30 35 10 27 32 7 36 5 16 33 2 13 6 11 22 3 8 19 12 17 28 9 14 25 18 23 34 15 20 31 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 12 7 14 5 16 11 2 9 4 15 6 13 8 3 10 ;10 13 16 3 14 2 4 7 2 5 8 11 6 9 12 15 ;15 2 5 8 3 6 9 12 7 10 13 16 11 14 1 4 ;4 11 6 9 8 15 10 13 12 3 14 1 16 7 2 5 ;5 16 11 2 9 4 15 6 13 8 3 10 1 12 7 14 ;14 1 4 7 2 5 8 11 6 9 12 15 10 13 16 3 ;3 6 9 12 7 10 13 16 11 14 1 4 15 2 5 8 ;8 15 10 13 12 3 14 1 16 7 2 5 4 11 6 9 ;9 4 15 6 13 8 3 10 1 12 7 14 5 16 11 2 ;2 5 8 11 6 9 12 15 10 13 16 3 14 1 4 7 ;7 10 13 16 11 14 1 4 15 2 5 8 3 6 9 12 ;12 3 14 1 16 7 2 5 4 11 6 9 8 15 10 13 ;13 8 3 10 1 12 7 14 5 16 11 2 9 4 15 6 ;6 9 12 15 10 13 16 3 14 1 4 7 2 5 8 11 ;11 14 1 4 15 2 5 8 3 6 9 12 7 10 13 16 ;16 7 2 5 4 11 6 9 8 15 10 13 12 3 14 1 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[7 6 17 16 9 20 13 12 23 22 15 26 19 18 29 28 21 32 25 24 35 34 27 2 31 30 5 4 33 8 1 36 11 10 3 14 ;26 25 12 29 34 15 32 31 18 35 4 21 2 1 24 5 10 27 8 7 30 11 16 33 14 13 36 17 22 3 20 19 6 23 28 9 ;27 14 13 36 23 28 33 20 19 6 29 34 3 26 25 12 35 4 9 32 31 18 5 10 15 2 1 24 11 16 21 8 7 30 17 22 ;22 33 2 1 18 11 28 3 8 7 24 17 34 9 14 13 30 23 4 15 20 19 36 29 10 21 26 25 6 35 16 27 32 31 12 5 ;5 10 3 8 31 30 11 16 9 14 1 36 17 22 15 20 7 6 23 28 21 26 13 12 29 34 27 32 19 18 35 4 33 2 25 24 ;24 35 4 21 32 19 30 5 10 27 2 25 36 11 16 33 8 31 6 17 22 3 14 1 12 23 28 9 20 7 18 29 34 15 26 13 ;13 12 23 22 15 26 19 18 29 28 21 32 25 24 35 34 27 2 31 30 5 4 33 8 1 36 11 10 3 14 7 6 17 16 9 20 ;32 31 18 35 4 21 2 1 24 5 10 27 8 7 30 11 16 33 14 13 36 17 22 3 20 19 6 23 28 9 26 25 12 29 34 15 ;33 20 19 6 29 34 3 26 25 12 35 4 9 32 31 18 5 10 15 2 1 24 11 16 21 8 7 30 17 22 27 14 13 36 23 28 ;28 3 8 7 24 17 34 9 14 13 30 23 4 15 20 19 36 29 10 21 26 25 6 35 16 27 32 31 12 5 22 33 2 1 18 11 ;11 16 9 14 1 36 17 22 15 20 7 6 23 28 21 26 13 12 29 34 27 32 19 18 35 4 33 2 25 24 5 10 3 8 31 30 ;30 5 10 27 2 25 36 11 16 33 8 31 6 17 22 3 14 1 12 23 28 9 20 7 18 29 34 15 26 13 24 35 4 21 32 19 ;19 18 29 28 21 32 25 24 35 34 27 2 31 30 5 4 33 8 1 36 11 10 3 14 7 6 17 16 9 20 13 12 23 22 15 26 ;2 1 24 5 10 27 8 7 30 11 16 33 14 13 36 17 22 3 20 19 6 23 28 9 26 25 12 29 34 15 32 31 18 35 4 21 ;3 26 25 12 35 4 9 32 31 18 5 10 15 2 1 24 11 16 21 8 7 30 17 22 27 14 13 36 23 28 33 20 19 6 29 34 ;34 9 14 13 30 23 4 15 20 19 36 29 10 21 26 25 6 35 16 27 32 31 12 5 22 33 2 1 18 11 28 3 8 7 24 17 ;17 22 15 20 7 6 23 28 21 26 13 12 29 34 27 32 19 18 35 4 33 2 25 24 5 10 3 8 31 30 11 16 9 14 1 36 ;36 11 16 33 8 31 6 17 22 3 14 1 12 23 28 9 20 7 18 29 34 15 26 13 24 35 4 21 32 19 30 5 10 27 2 25 ;25 24 35 34 27 2 31 30 5 4 33 8 1 36 11 10 3 14 7 6 17 16 9 20 13 12 23 22 15 26 19 18 29 28 21 32 ;8 7 30 11 16 33 14 13 36 17 22 3 20 19 6 23 28 9 26 25 12 29 34 15 32 31 18 35 4 21 2 1 24 5 10 27 ;9 32 31 18 5 10 15 2 1 24 11 16 21 8 7 30 17 22 27 14 13 36 23 28 33 20 19 6 29 34 3 26 25 12 35 4 ;4 15 20 19 36 29 10 21 26 25 6 35 16 27 32 31 12 5 22 33 2 1 18 11 28 3 8 7 24 17 34 9 14 13 30 23 ;23 28 21 26 13 12 29 34 27 32 19 18 35 4 33 2 25 24 5 10 3 8 31 30 11 16 9 14 1 36 17 22 15 20 7 6 ;6 17 22 3 14 1 12 23 28 9 20 7 18 29 34 15 26 13 24 35 4 21 32 19 30 5 10 27 2 25 36 11 16 33 8 31 ;31 30 5 4 33 8 1 36 11 10 3 14 7 6 17 16 9 20 13 12 23 22 15 26 19 18 29 28 21 32 25 24 35 34 27 2 ;14 13 36 17 22 3 20 19 6 23 28 9 26 25 12 29 34 15 32 31 18 35 4 21 2 1 24 5 10 27 8 7 30 11 16 33 ;15 2 1 24 11 16 21 8 7 30 17 22 27 14 13 36 23 28 33 20 19 6 29 34 3 26 25 12 35 4 9 32 31 18 5 10 ;10 21 26 25 6 35 16 27 32 31 12 5 22 33 2 1 18 11 28 3 8 7 24 17 34 9 14 13 30 23 4 15 20 19 36 29 ;29 34 27 32 19 18 35 4 33 2 25 24 5 10 3 8 31 30 11 16 9 14 1 36 17 22 15 20 7 6 23 28 21 26 13 12 ;12 23 28 9 20 7 18 29 34 15 26 13 24 35 4 21 32 19 30 5 10 27 2 25 36 11 16 33 8 31 6 17 22 3 14 1 ;1 36 11 10 3 14 7 6 17 16 9 20 13 12 23 22 15 26 19 18 29 28 21 32 25 24 35 34 27 2 31 30 5 4 33 8 ;20 19 6 23 28 9 26 25 12 29 34 15 32 31 18 35 4 21 2 1 24 5 10 27 8 7 30 11 16 33 14 13 36 17 22 3 ;21 8 7 30 17 22 27 14 13 36 23 28 33 20 19 6 29 34 3 26 25 12 35 4 9 32 31 18 5 10 15 2 1 24 11 16 ;16 27 32 31 12 5 22 33 2 1 18 11 28 3 8 7 24 17 34 9 14 13 30 23 4 15 20 19 36 29 10 21 26 25 6 35 ;35 4 33 2 25 24 5 10 3 8 31 30 11 16 9 14 1 36 17 22 15 20 7 6 23 28 21 26 13 12 29 34 27 32 19 18 ;18 29 34 15 26 13 24 35 4 21 32 19 30 5 10 27 2 25 36 11 16 33 8 31 6 17 22 3 14 1 12 23 28 9 20 7 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 8 11 2 5 12 15 6 9 16 3 10 13 4 7 14 ;14 9 12 7 2 13 16 11 6 1 4 15 10 5 8 3 ;3 10 13 4 7 14 1 8 11 2 5 12 15 6 9 16 ;16 15 6 5 4 3 10 9 8 7 14 13 12 11 2 1 ;5 12 15 6 9 16 3 10 13 4 7 14 1 8 11 2 ;2 13 16 11 6 1 4 15 10 5 8 3 14 9 12 7 ;7 14 1 8 11 2 5 12 15 6 9 16 3 10 13 4 ;4 3 10 9 8 7 14 13 12 11 2 1 16 15 6 5 ;9 16 3 10 13 4 7 14 1 8 11 2 5 12 15 6 ;6 1 4 15 10 5 8 3 14 9 12 7 2 13 16 11 ;11 2 5 12 15 6 9 16 3 10 13 4 7 14 1 8 ;8 7 14 13 12 11 2 1 16 15 6 5 4 3 10 9 ;13 4 7 14 1 8 11 2 5 12 15 6 9 16 3 10 ;10 5 8 3 14 9 12 7 2 13 16 11 6 1 4 15 ;15 6 9 16 3 10 13 4 7 14 1 8 11 2 5 12 ;12 11 2 1 16 15 6 5 4 3 10 9 8 7 14 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[7 36 29 16 21 14 13 6 35 22 27 20 19 12 5 28 33 26 25 18 11 34 3 32 31 24 17 4 9 2 1 30 23 10 15 8 ;20 31 24 35 34 27 26 1 30 5 4 33 32 7 36 11 10 3 2 13 6 17 16 9 8 19 12 23 22 15 14 25 18 29 28 21 ;3 8 13 6 17 4 9 14 19 12 23 10 15 20 25 18 29 16 21 26 31 24 35 22 27 32 1 30 5 28 33 2 7 36 11 34 ;10 9 26 19 18 5 16 15 32 25 24 11 22 21 2 31 30 17 28 27 8 1 36 23 34 33 14 7 6 29 4 3 20 13 12 35 ;11 22 33 32 1 30 17 28 3 2 7 36 23 34 9 8 13 6 29 4 15 14 19 12 35 10 21 20 25 18 5 16 27 26 31 24 ;12 23 28 15 2 25 18 29 34 21 8 31 24 35 4 27 14 1 30 5 10 33 20 7 36 11 16 3 26 13 6 17 22 9 32 19 ;13 6 35 22 27 20 19 12 5 28 33 26 25 18 11 34 3 32 31 24 17 4 9 2 1 30 23 10 15 8 7 36 29 16 21 14 ;26 1 30 5 4 33 32 7 36 11 10 3 2 13 6 17 16 9 8 19 12 23 22 15 14 25 18 29 28 21 20 31 24 35 34 27 ;9 14 19 12 23 10 15 20 25 18 29 16 21 26 31 24 35 22 27 32 1 30 5 28 33 2 7 36 11 34 3 8 13 6 17 4 ;16 15 32 25 24 11 22 21 2 31 30 17 28 27 8 1 36 23 34 33 14 7 6 29 4 3 20 13 12 35 10 9 26 19 18 5 ;17 28 3 2 7 36 23 34 9 8 13 6 29 4 15 14 19 12 35 10 21 20 25 18 5 16 27 26 31 24 11 22 33 32 1 30 ;18 29 34 21 8 31 24 35 4 27 14 1 30 5 10 33 20 7 36 11 16 3 26 13 6 17 22 9 32 19 12 23 28 15 2 25 ;19 12 5 28 33 26 25 18 11 34 3 32 31 24 17 4 9 2 1 30 23 10 15 8 7 36 29 16 21 14 13 6 35 22 27 20 ;32 7 36 11 10 3 2 13 6 17 16 9 8 19 12 23 22 15 14 25 18 29 28 21 20 31 24 35 34 27 26 1 30 5 4 33 ;15 20 25 18 29 16 21 26 31 24 35 22 27 32 1 30 5 28 33 2 7 36 11 34 3 8 13 6 17 4 9 14 19 12 23 10 ;22 21 2 31 30 17 28 27 8 1 36 23 34 33 14 7 6 29 4 3 20 13 12 35 10 9 26 19 18 5 16 15 32 25 24 11 ;23 34 9 8 13 6 29 4 15 14 19 12 35 10 21 20 25 18 5 16 27 26 31 24 11 22 33 32 1 30 17 28 3 2 7 36 ;24 35 4 27 14 1 30 5 10 33 20 7 36 11 16 3 26 13 6 17 22 9 32 19 12 23 28 15 2 25 18 29 34 21 8 31 ;25 18 11 34 3 32 31 24 17 4 9 2 1 30 23 10 15 8 7 36 29 16 21 14 13 6 35 22 27 20 19 12 5 28 33 26 ;2 13 6 17 16 9 8 19 12 23 22 15 14 25 18 29 28 21 20 31 24 35 34 27 26 1 30 5 4 33 32 7 36 11 10 3 ;21 26 31 24 35 22 27 32 1 30 5 28 33 2 7 36 11 34 3 8 13 6 17 4 9 14 19 12 23 10 15 20 25 18 29 16 ;28 27 8 1 36 23 34 33 14 7 6 29 4 3 20 13 12 35 10 9 26 19 18 5 16 15 32 25 24 11 22 21 2 31 30 17 ;29 4 15 14 19 12 35 10 21 20 25 18 5 16 27 26 31 24 11 22 33 32 1 30 17 28 3 2 7 36 23 34 9 8 13 6 ;30 5 10 33 20 7 36 11 16 3 26 13 6 17 22 9 32 19 12 23 28 15 2 25 18 29 34 21 8 31 24 35 4 27 14 1 ;31 24 17 4 9 2 1 30 23 10 15 8 7 36 29 16 21 14 13 6 35 22 27 20 19 12 5 28 33 26 25 18 11 34 3 32 ;8 19 12 23 22 15 14 25 18 29 28 21 20 31 24 35 34 27 26 1 30 5 4 33 32 7 36 11 10 3 2 13 6 17 16 9 ;27 32 1 30 5 28 33 2 7 36 11 34 3 8 13 6 17 4 9 14 19 12 23 10 15 20 25 18 29 16 21 26 31 24 35 22 ;34 33 14 7 6 29 4 3 20 13 12 35 10 9 26 19 18 5 16 15 32 25 24 11 22 21 2 31 30 17 28 27 8 1 36 23 ;35 10 21 20 25 18 5 16 27 26 31 24 11 22 33 32 1 30 17 28 3 2 7 36 23 34 9 8 13 6 29 4 15 14 19 12 ;36 11 16 3 26 13 6 17 22 9 32 19 12 23 28 15 2 25 18 29 34 21 8 31 24 35 4 27 14 1 30 5 10 33 20 7 ;1 30 23 10 15 8 7 36 29 16 21 14 13 6 35 22 27 20 19 12 5 28 33 26 25 18 11 34 3 32 31 24 17 4 9 2 ;14 25 18 29 28 21 20 31 24 35 34 27 26 1 30 5 4 33 32 7 36 11 10 3 2 13 6 17 16 9 8 19 12 23 22 15 ;33 2 7 36 11 34 3 8 13 6 17 4 9 14 19 12 23 10 15 20 25 18 29 16 21 26 31 24 35 22 27 32 1 30 5 28 ;4 3 20 13 12 35 10 9 26 19 18 5 16 15 32 25 24 11 22 21 2 31 30 17 28 27 8 1 36 23 34 33 14 7 6 29 ;5 16 27 26 31 24 11 22 33 32 1 30 17 28 3 2 7 36 23 34 9 8 13 6 29 4 15 14 19 12 35 10 21 20 25 18 ;6 17 22 9 32 19 12 23 28 15 2 25 18 29 34 21 8 31 24 35 4 27 14 1 30 5 10 33 20 7 36 11 16 3 26 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[7 3 8 1 6 2 4 9 5 ;2 1 6 5 4 9 8 7 3 ;9 5 4 3 8 7 6 2 1 ;1 6 2 4 9 5 7 3 8 ;5 4 9 8 7 3 2 1 6 ;3 8 7 6 2 1 9 5 4 ;4 9 6 7 3 8 1 6 2 ;8 7 3 2 1 6 5 4 9 ;6 2 1 9 5 4 3 8 7 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[9 16 3 2 13 4 7 6 1 8 11 10 5 12 15 14 ;6 13 4 15 10 1 8 3 14 5 12 7 2 9 16 11 ;11 14 1 12 15 2 5 16 3 6 9 4 7 10 13 8 ;8 7 10 5 12 11 14 9 16 15 2 13 4 3 6 1 ;13 4 7 6 1 8 11 10 5 12 15 14 9 16 3 2 ;10 1 8 3 14 5 12 7 2 9 16 11 6 13 4 15 ;15 2 5 16 3 6 9 4 7 10 13 8 11 14 1 12 ;12 11 14 9 16 15 2 13 4 3 6 1 8 7 10 5 ;1 8 11 10 5 12 15 14 9 16 3 2 13 4 7 6 ;14 5 12 7 2 9 16 11 6 13 4 15 10 1 8 3 ;3 6 9 4 7 10 13 8 11 14 1 12 15 2 5 16 ;16 15 2 13 4 3 6 1 8 7 10 5 12 11 14 9 ;5 12 15 14 9 16 3 2 13 4 7 6 1 8 11 10 ;2 9 16 11 6 13 4 15 10 1 8 3 14 5 12 7 ;7 10 13 8 11 14 1 12 15 2 5 16 3 6 9 4 ;4 3 6 1 8 7 10 5 12 11 14 9 16 15 2 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[16 20 14 18 2 21 25 19 23 7 1 5 24 3 12 6 10 4 8 17 11 15 9 13 22 ;22 11 25 19 8 2 16 5 24 13 7 21 10 4 18 12 1 15 9 23 17 6 20 14 3 ;3 12 6 5 24 8 17 11 10 4 13 22 16 15 9 18 2 21 20 14 23 7 1 25 19 ;4 13 7 21 10 9 18 12 1 15 14 23 17 6 20 19 3 22 11 25 24 8 2 16 5 ;15 9 23 17 1 20 14 3 22 6 25 19 8 2 11 5 24 13 7 16 10 4 18 12 21 ;21 25 19 23 7 1 5 24 3 12 6 10 4 8 17 11 15 9 13 22 16 20 14 18 2 ;2 16 5 24 13 7 21 10 4 18 12 1 15 9 23 17 6 20 14 3 22 11 25 19 8 ;8 17 11 10 4 13 22 16 15 9 18 2 21 20 14 23 7 1 25 19 3 12 6 5 24 ;9 18 12 1 15 14 23 17 6 20 19 3 22 11 25 24 8 2 16 5 4 13 7 21 10 ;20 14 3 22 6 25 19 8 2 11 5 24 13 7 16 10 4 18 12 21 15 9 23 17 1 ;1 5 24 3 12 6 10 4 8 17 11 15 9 13 22 16 20 14 18 2 21 25 19 23 7 ;7 21 10 4 18 12 1 15 9 23 17 6 20 14 3 22 11 25 19 8 2 16 5 24 13 ;13 22 16 15 9 18 2 21 20 14 23 7 1 25 19 3 12 6 5 24 8 17 11 10 4 ;14 23 17 6 20 19 3 22 11 25 24 8 2 16 5 4 13 7 21 10 9 18 12 1 15 ;25 19 8 2 11 5 24 13 7 16 10 4 18 12 21 15 9 23 17 1 20 14 3 22 6 ;6 10 4 8 17 11 15 9 13 22 16 20 14 18 2 21 25 19 23 7 1 5 24 3 12 ;12 1 15 9 23 17 6 20 14 3 22 11 25 19 8 2 16 5 24 13 7 21 10 4 18 ;18 2 21 20 14 23 7 1 25 19 3 12 6 5 24 8 17 11 10 4 13 22 16 15 9 ;19 3 22 11 25 24 8 2 16 5 4 13 7 21 10 9 18 12 1 15 14 23 17 6 20 ;5 24 13 7 16 10 4 18 12 21 15 9 23 17 1 20 14 3 22 6 25 19 8 2 11 ;11 15 9 13 22 16 20 14 18 2 21 25 19 23 7 1 5 24 3 12 6 10 4 8 17 ;17 6 20 14 3 22 11 25 19 8 2 16 5 24 13 7 21 10 4 18 12 1 15 9 23 ;23 7 1 25 19 3 12 6 5 24 8 17 11 10 4 13 22 16 15 9 18 2 21 20 14 ;24 8 2 16 5 4 13 7 21 10 9 18 12 1 15 14 23 17 6 20 19 3 22 11 25 ;10 4 18 12 21 15 9 23 17 1 20 14 3 22 6 25 19 8 2 11 5 24 13 7 16 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 20 4 3 2 6 25 9 8 7 11 5 14 13 12 16 10 19 18 17 21 15 24 23 22 ;17 11 25 24 23 22 16 5 4 3 2 21 10 9 8 7 1 15 14 13 12 6 20 19 18 ;8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 ;19 18 22 21 10 24 23 2 1 15 4 3 7 6 20 9 8 12 11 25 14 13 17 16 5 ;5 9 13 7 16 10 14 18 12 21 15 19 23 17 1 20 24 3 22 6 25 4 8 2 11 ;6 25 9 8 7 11 5 14 13 12 16 10 19 18 17 21 15 24 23 22 1 20 4 3 2 ;22 16 5 4 3 2 21 10 9 8 7 1 15 14 13 12 6 20 19 18 17 11 25 24 23 ;13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 ;24 23 2 1 15 4 3 7 6 20 9 8 12 11 25 14 13 17 16 5 19 18 22 21 10 ;10 14 18 12 21 15 19 23 17 1 20 24 3 22 6 25 4 8 2 11 5 9 13 7 16 ;11 5 14 13 12 16 10 19 18 17 21 15 24 23 22 1 20 4 3 2 6 25 9 8 7 ;2 21 10 9 8 7 1 15 14 13 12 6 20 19 18 17 11 25 24 23 22 16 5 4 3 ;18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 ;4 3 7 6 20 9 8 12 11 25 14 13 17 16 5 19 18 22 21 10 24 23 2 1 15 ;15 19 23 17 1 20 24 3 22 6 25 4 8 2 11 5 9 13 7 16 10 14 18 12 21 ;16 10 19 18 17 21 15 24 23 22 1 20 4 3 2 6 25 9 8 7 11 5 14 13 12 ;7 1 15 14 13 12 6 20 19 18 17 11 25 24 23 22 16 5 4 3 2 21 10 9 8 ;23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 ;9 8 12 11 25 14 13 17 16 5 19 18 22 21 10 24 23 2 1 15 4 3 7 6 20 ;20 24 3 22 6 25 4 8 2 11 5 9 13 7 16 10 14 18 12 21 15 19 23 17 1 ;21 15 24 23 22 1 20 4 3 2 6 25 9 8 7 11 5 14 13 12 16 10 19 18 17 ;12 6 20 19 18 17 11 25 24 23 22 16 5 4 3 2 21 10 9 8 7 1 15 14 13 ;3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 ;14 13 17 16 5 19 18 22 21 10 24 23 2 1 15 4 3 7 6 20 9 8 12 11 25 ;25 4 8 2 11 5 9 13 7 16 10 14 18 12 21 15 19 23 17 1 20 24 3 22 6 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 24 17 16 27 8 7 30 23 22 33 14 13 36 29 28 3 20 19 6 35 34 9 26 25 12 5 4 15 32 31 18 11 10 21 2 ;20 13 6 11 34 15 26 19 12 17 4 21 32 25 18 23 10 27 2 31 24 29 16 33 8 1 30 35 22 3 14 7 36 5 28 9 ;33 14 19 30 23 22 3 20 25 36 29 28 9 26 31 6 35 34 15 32 1 12 5 4 21 2 7 18 11 10 27 8 13 24 17 16 ;4 9 32 31 36 29 10 15 2 1 6 35 16 21 8 7 12 5 22 27 14 13 18 11 28 33 20 19 24 17 34 3 26 25 30 23 ;35 28 21 2 7 12 5 34 27 8 13 18 11 4 33 14 19 24 17 10 3 20 25 30 23 16 9 26 31 36 29 22 15 32 1 6 ;18 5 10 3 26 25 24 11 16 9 32 31 30 17 22 15 2 1 36 23 28 21 8 7 6 29 34 27 14 13 12 35 4 33 20 19 ;7 30 23 22 33 14 13 36 29 28 3 20 19 6 35 34 9 26 25 12 5 4 15 32 31 18 11 10 21 2 1 24 17 16 27 8 ;26 19 12 17 4 21 32 25 18 23 10 27 2 31 24 29 16 33 8 1 30 35 22 3 14 7 36 5 28 9 20 13 6 11 34 15 ;3 20 25 36 29 28 9 26 31 6 35 34 15 32 1 12 5 4 21 2 7 18 11 10 27 8 13 24 17 16 33 14 19 30 23 22 ;10 15 2 1 6 35 16 21 8 7 12 5 22 27 14 13 18 11 28 33 20 19 24 17 34 3 26 25 30 23 4 9 32 31 36 29 ;5 34 27 8 13 18 11 4 33 14 19 24 17 10 3 20 25 30 23 16 9 26 31 36 29 22 15 32 1 6 35 28 21 2 7 12 ;24 11 16 9 32 31 30 17 22 15 2 1 36 23 28 21 8 7 6 29 34 27 14 13 12 35 4 33 20 19 18 5 10 3 26 25 ;13 36 29 28 3 20 19 6 35 34 9 26 25 12 5 4 15 32 31 18 11 10 21 2 1 24 17 16 27 8 7 30 23 22 33 14 ;32 25 18 23 10 27 2 31 24 29 16 33 8 1 30 35 22 3 14 7 36 5 28 9 20 13 6 11 34 15 26 19 12 17 4 21 ;9 26 31 6 35 34 15 32 1 12 5 4 21 2 7 18 11 10 27 8 13 24 17 16 33 14 19 30 23 22 3 20 25 36 29 28 ;16 21 8 7 12 5 22 27 14 13 18 11 28 33 20 19 24 17 34 3 26 25 30 23 4 9 32 31 36 29 10 15 2 1 6 35 ;11 4 33 14 19 24 17 10 3 20 25 30 23 16 9 26 31 36 29 22 15 32 1 6 35 28 21 2 7 12 5 34 27 8 13 18 ;30 17 22 15 2 1 36 23 28 21 8 7 6 29 34 27 14 13 12 35 4 33 20 19 18 5 10 3 26 25 24 11 16 9 32 31 ;19 6 35 34 9 26 25 12 5 4 15 32 31 18 11 10 21 2 1 24 17 16 27 8 7 30 23 22 33 14 13 36 29 28 3 20 ;2 31 24 29 16 33 8 1 30 35 22 3 14 7 36 5 28 9 20 13 6 11 34 15 26 19 12 17 4 21 32 25 18 23 10 27 ;15 32 1 12 5 4 21 2 7 18 11 10 27 8 13 24 17 16 33 14 19 30 23 22 3 20 25 36 29 28 9 26 31 6 35 34 ;22 27 14 13 18 11 28 33 20 19 24 17 34 3 26 25 30 23 4 9 32 31 36 29 10 15 2 1 6 35 16 21 8 7 12 5 ;17 10 3 20 25 30 23 16 9 26 31 36 29 22 15 32 1 6 35 28 21 2 7 12 5 34 27 8 13 18 11 4 33 14 19 24 ;36 23 28 21 8 7 6 29 34 27 14 13 12 35 4 33 20 19 18 5 10 3 26 25 24 11 16 9 32 31 30 17 22 15 2 1 ;25 12 5 4 15 32 31 18 11 10 21 2 1 24 17 16 27 8 7 30 23 22 33 14 13 36 29 28 3 20 19 6 35 34 9 26 ;8 1 30 35 22 3 14 7 36 5 28 9 20 13 6 11 34 15 26 19 12 17 4 21 32 25 18 23 10 27 2 31 24 29 16 33 ;21 2 7 18 11 10 27 8 13 24 17 16 33 14 19 30 23 22 3 20 25 36 29 28 9 26 31 6 35 34 15 32 1 12 5 4 ;28 33 20 19 24 17 34 3 26 25 30 23 4 9 32 31 36 29 10 15 2 1 6 35 16 21 8 7 12 5 22 27 14 13 18 11 ;23 16 9 26 31 36 29 22 15 32 1 6 35 28 21 2 7 12 5 34 27 8 13 18 11 4 33 14 19 24 17 10 3 20 25 30 ;6 29 34 27 14 13 12 35 4 33 20 19 18 5 10 3 26 25 24 11 16 9 32 31 30 17 22 15 2 1 36 23 28 21 8 7 ;31 18 11 10 21 2 1 24 17 16 27 8 7 30 23 22 33 14 13 36 29 28 3 20 19 6 35 34 9 26 25 12 5 4 15 32 ;14 7 36 5 28 9 20 13 6 11 34 15 26 19 12 17 4 21 32 25 18 23 10 27 2 31 24 29 16 33 8 1 30 35 22 3 ;27 8 13 24 17 16 33 14 19 30 23 22 3 20 25 36 29 28 9 26 31 6 35 34 15 32 1 12 5 4 21 2 7 18 11 10 ;34 3 26 25 30 23 4 9 32 31 36 29 10 15 2 1 6 35 16 21 8 7 12 5 22 27 14 13 18 11 28 33 20 19 24 17 ;29 22 15 32 1 6 35 28 21 2 7 12 5 34 27 8 13 18 11 4 33 14 19 24 17 10 3 20 25 30 23 16 9 26 31 36 ;12 35 4 33 20 19 18 5 10 3 26 25 24 11 16 9 32 31 30 17 22 15 2 1 36 23 28 21 8 7 6 29 34 27 14 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[4 3 8 7 6 2 1 9 5 ;2 1 9 5 4 3 8 7 6 ;6 5 7 9 8 1 3 2 4 ;7 6 2 1 9 5 4 3 8 ;5 4 3 8 7 6 2 1 9 ;9 8 1 3 2 4 6 5 7 ;1 9 5 4 3 8 7 6 2 ;8 7 6 2 1 9 5 4 3 ;3 2 4 6 5 7 9 8 1 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 9 8 4 3 2 7 6 5 ;2 7 6 5 1 9 8 4 3 ;3 5 4 6 8 7 9 2 1 ;4 3 2 7 6 5 1 9 8 ;5 1 9 8 4 3 2 7 6 ;6 8 7 9 2 1 3 5 4 ;7 6 5 1 9 8 4 3 2 ;8 4 3 2 7 6 5 1 9 ;9 2 1 3 5 4 6 8 7 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[11 10 24 3 22 16 15 4 8 2 21 20 9 13 7 1 25 14 18 12 6 5 19 23 17 ;7 16 25 14 13 12 21 5 19 18 17 1 10 24 23 22 6 15 4 3 2 11 20 9 8 ;23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 ;9 8 12 6 20 14 13 17 11 25 19 18 22 16 5 24 23 2 21 10 4 3 7 1 15 ;15 19 18 17 1 20 24 23 22 6 25 4 3 2 11 5 9 8 7 16 10 14 13 12 21 ;16 15 4 8 2 21 20 9 13 7 1 25 14 18 12 6 5 19 23 17 11 10 24 3 22 ;12 21 5 19 18 17 1 10 24 23 22 6 15 4 3 2 11 20 9 8 7 16 25 14 13 ;3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 ;14 13 17 11 25 19 18 22 16 5 24 23 2 21 10 4 3 7 1 15 9 8 12 6 20 ;20 24 23 22 6 25 4 3 2 11 5 9 8 7 16 10 14 13 12 21 15 19 18 17 1 ;21 20 9 13 7 1 25 14 18 12 6 5 19 23 17 11 10 24 3 22 16 15 4 8 2 ;17 1 10 24 23 22 6 15 4 3 2 11 20 9 8 7 16 25 14 13 12 21 5 19 18 ;8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 ;19 18 22 16 5 24 23 2 21 10 4 3 7 1 15 9 8 12 6 20 14 13 17 11 25 ;25 4 3 2 11 5 9 8 7 16 10 14 13 12 21 15 19 18 17 1 20 24 23 22 6 ;1 25 14 18 12 6 5 19 23 17 11 10 24 3 22 16 15 4 8 2 21 20 9 13 7 ;22 6 15 4 3 2 11 20 9 8 7 16 25 14 13 12 21 5 19 18 17 1 10 24 23 ;13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 ;24 23 2 21 10 4 3 7 1 15 9 8 12 6 20 14 13 17 11 25 19 18 22 16 5 ;5 9 8 7 16 10 14 13 12 21 15 19 18 17 1 20 24 23 22 6 25 4 3 2 11 ;6 5 19 23 17 11 10 24 3 22 16 15 4 8 2 21 20 9 13 7 1 25 14 18 12 ;2 11 20 9 8 7 16 25 14 13 12 21 5 19 18 17 1 10 24 23 22 6 15 4 3 ;18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 ;4 3 7 1 15 9 8 12 6 20 14 13 17 11 25 19 18 22 16 5 24 23 2 21 10 ;10 14 13 12 21 15 19 18 17 1 20 24 23 22 6 25 4 3 2 11 5 9 8 7 16 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 24 11 34 3 14 7 30 17 4 9 20 13 36 23 10 15 26 19 6 29 16 21 32 25 12 35 22 27 2 31 18 5 28 33 8 ;8 13 18 17 16 27 14 19 24 23 22 33 20 25 30 29 28 3 26 31 36 35 34 9 32 1 6 5 4 15 2 7 12 11 10 21 ;21 32 7 12 23 28 27 2 13 18 29 34 33 8 19 24 35 4 3 14 25 30 5 10 9 20 31 36 11 16 15 26 1 6 17 22 ;10 15 2 19 6 35 16 21 8 25 12 5 22 27 14 31 18 11 28 33 20 1 24 17 34 3 26 7 30 23 4 9 32 13 36 29 ;5 4 33 20 31 30 11 10 3 26 1 36 17 16 9 32 7 6 23 22 15 2 13 12 29 28 21 8 19 18 35 34 27 14 25 24 ;36 29 22 9 26 25 6 35 28 15 32 31 12 5 34 21 2 1 18 11 4 27 8 7 24 17 10 33 14 13 30 23 16 3 20 19 ;7 30 17 4 9 20 13 36 23 10 15 26 19 6 29 16 21 32 25 12 35 22 27 2 31 18 5 28 33 8 1 24 11 34 3 14 ;14 19 24 23 22 33 20 25 30 29 28 3 26 31 36 35 34 9 32 1 6 5 4 15 2 7 12 11 10 21 8 13 18 17 16 27 ;27 2 13 18 29 34 33 8 19 24 35 4 3 14 25 30 5 10 9 20 31 36 11 16 15 26 1 6 17 22 21 32 7 12 23 28 ;16 21 8 25 12 5 22 27 14 31 18 11 28 33 20 1 24 17 34 3 26 7 30 23 4 9 32 13 36 29 10 15 2 19 6 35 ;11 10 3 26 1 36 17 16 9 32 7 6 23 22 15 2 13 12 29 28 21 8 19 18 35 34 27 14 25 24 5 4 33 20 31 30 ;6 35 28 15 32 31 12 5 34 21 2 1 18 11 4 27 8 7 24 17 10 33 14 13 30 23 16 3 20 19 36 29 22 9 26 25 ;13 36 23 10 15 26 19 6 29 16 21 32 25 12 35 22 27 2 31 18 5 28 33 8 1 24 11 34 3 14 7 30 17 4 9 20 ;20 25 30 29 28 3 26 31 36 35 34 9 32 1 6 5 4 15 2 7 12 11 10 21 8 13 18 17 16 27 14 19 24 23 22 33 ;33 8 19 24 35 4 3 14 25 30 5 10 9 20 31 36 11 16 15 26 1 6 17 22 21 32 7 12 23 28 27 2 13 18 29 34 ;22 27 14 31 18 11 28 33 20 1 24 17 34 3 26 7 30 23 4 9 32 13 36 29 10 15 2 19 6 35 16 21 8 25 12 5 ;17 16 9 32 7 6 23 22 15 2 13 12 29 28 21 8 19 18 35 34 27 14 25 24 5 4 33 20 31 30 11 10 3 26 1 36 ;12 5 34 21 2 1 18 11 4 27 8 7 24 17 10 33 14 13 30 23 16 3 20 19 36 29 22 9 26 25 6 35 28 15 32 31 ;19 6 29 16 21 32 25 12 35 22 27 2 31 18 5 28 33 8 1 24 11 34 3 14 7 30 17 4 9 20 13 36 23 10 15 26 ;26 31 36 35 34 9 32 1 6 5 4 15 2 7 12 11 10 21 8 13 18 17 16 27 14 19 24 23 22 33 20 25 30 29 28 3 ;3 14 25 30 5 10 9 20 31 36 11 16 15 26 1 6 17 22 21 32 7 12 23 28 27 2 13 18 29 34 33 8 19 24 35 4 ;28 33 20 1 24 17 34 3 26 7 30 23 4 9 32 13 36 29 10 15 2 19 6 35 16 21 8 25 12 5 22 27 14 31 18 11 ;23 22 15 2 13 12 29 28 21 8 19 18 35 34 27 14 25 24 5 4 33 20 31 30 11 10 3 26 1 36 17 16 9 32 7 6 ;18 11 4 27 8 7 24 17 10 33 14 13 30 23 16 3 20 19 36 29 22 9 26 25 6 35 28 15 32 31 12 5 34 21 2 1 ;25 12 35 22 27 2 31 18 5 28 33 8 1 24 11 34 3 14 7 30 17 4 9 20 13 36 23 10 15 26 19 6 29 16 21 32 ;32 1 6 5 4 15 2 7 12 11 10 21 8 13 18 17 16 27 14 19 24 23 22 33 20 25 30 29 28 3 26 31 36 35 34 9 ;9 20 31 36 11 16 15 26 1 6 17 22 21 32 7 12 23 28 27 2 13 18 29 34 33 8 19 24 35 4 3 14 25 30 5 10 ;34 3 26 7 30 23 4 9 32 13 36 29 10 15 2 19 6 35 16 21 8 25 12 5 22 27 14 31 18 11 28 33 20 1 24 17 ;29 28 21 8 19 18 35 34 27 14 25 24 5 4 33 20 31 30 11 10 3 26 1 36 17 16 9 32 7 6 23 22 15 2 13 12 ;24 17 10 33 14 13 30 23 16 3 20 19 36 29 22 9 26 25 6 35 28 15 32 31 12 5 34 21 2 1 18 11 4 27 8 7 ;31 18 5 28 33 8 1 24 11 34 3 14 7 30 17 4 9 20 13 36 23 10 15 26 19 6 29 16 21 32 25 12 35 22 27 2 ;2 7 12 11 10 21 8 13 18 17 16 27 14 19 24 23 22 33 20 25 30 29 28 3 26 31 36 35 34 9 32 1 6 5 4 15 ;15 26 1 6 17 22 21 32 7 12 23 28 27 2 13 18 29 34 33 8 19 24 35 4 3 14 25 30 5 10 9 20 31 36 11 16 ;4 9 32 13 36 29 10 15 2 19 6 35 16 21 8 25 12 5 22 27 14 31 18 11 28 33 20 1 24 17 34 3 26 7 30 23 ;35 34 27 14 25 24 5 4 33 20 31 30 11 10 3 26 1 36 17 16 9 32 7 6 23 22 15 2 13 12 29 28 21 8 19 18 ;30 23 16 3 20 19 36 29 22 9 26 25 6 35 28 15 32 31 12 5 34 21 2 1 18 11 4 27 8 7 24 17 10 33 14 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[13 36 17 16 15 20 19 6 23 22 21 26 25 12 29 28 27 32 31 18 35 34 33 2 1 24 5 4 3 8 7 30 11 10 9 14 ;2 31 18 35 4 27 8 1 24 5 10 33 14 7 30 11 16 3 20 13 36 17 22 9 26 19 6 23 28 15 32 25 12 29 34 21 ;3 8 19 24 23 10 9 14 25 30 29 16 15 20 31 36 35 22 21 26 1 6 5 28 27 32 7 12 11 34 33 2 13 18 17 4 ;22 21 14 1 30 11 28 27 20 7 36 17 34 33 26 13 6 23 4 3 32 19 12 29 10 9 2 25 18 35 16 15 8 31 24 5 ;5 34 33 26 7 12 11 4 3 32 13 18 17 10 9 2 19 24 23 16 15 8 25 30 29 22 21 14 31 36 35 28 27 20 1 6 ;6 29 28 9 32 25 12 35 34 15 2 31 18 5 4 21 8 1 24 11 10 27 14 7 30 17 16 33 20 13 36 23 22 3 26 19 ;19 6 23 22 21 26 25 12 29 28 27 32 31 18 35 34 33 2 1 24 5 4 3 8 7 30 11 10 9 14 13 36 17 16 15 20 ;8 1 24 5 10 33 14 7 30 11 16 3 20 13 36 17 22 9 26 19 6 23 28 15 32 25 12 29 34 21 2 31 18 35 4 27 ;9 14 25 30 29 16 15 20 31 36 35 22 21 26 1 6 5 28 27 32 7 12 11 34 33 2 13 18 17 4 3 8 19 24 23 10 ;28 27 20 7 36 17 34 33 26 13 6 23 4 3 32 19 12 29 10 9 2 25 18 35 16 15 8 31 24 5 22 21 14 1 30 11 ;11 4 3 32 13 18 17 10 9 2 19 24 23 16 15 8 25 30 29 22 21 14 31 36 35 28 27 20 1 6 5 34 33 26 7 12 ;12 35 34 15 2 31 18 5 4 21 8 1 24 11 10 27 14 7 30 17 16 33 20 13 36 23 22 3 26 19 6 29 28 9 32 25 ;25 12 29 28 27 32 31 18 35 34 33 2 1 24 5 4 3 8 7 30 11 10 9 14 13 36 17 16 15 20 19 6 23 22 21 26 ;14 7 30 11 16 3 20 13 36 17 22 9 26 19 6 23 28 15 32 25 12 29 34 21 2 31 18 35 4 27 8 1 24 5 10 33 ;15 20 31 36 35 22 21 26 1 6 5 28 27 32 7 12 11 34 33 2 13 18 17 4 3 8 19 24 23 10 9 14 25 30 29 16 ;34 33 26 13 6 23 4 3 32 19 12 29 10 9 2 25 18 35 16 15 8 31 24 5 22 21 14 1 30 11 28 27 20 7 36 17 ;17 10 9 2 19 24 23 16 15 8 25 30 29 22 21 14 31 36 35 28 27 20 1 6 5 34 33 26 7 12 11 4 3 32 13 18 ;18 5 4 21 8 1 24 11 10 27 14 7 30 17 16 33 20 13 36 23 22 3 26 19 6 29 28 9 32 25 12 35 34 15 2 31 ;31 18 35 34 33 2 1 24 5 4 3 8 7 30 11 10 9 14 13 36 17 16 15 20 19 6 23 22 21 26 25 12 29 28 27 32 ;20 13 36 17 22 9 26 19 6 23 28 15 32 25 12 29 34 21 2 31 18 35 4 27 8 1 24 5 10 33 14 7 30 11 16 3 ;21 26 1 6 5 28 27 32 7 12 11 34 33 2 13 18 17 4 3 8 19 24 23 10 9 14 25 30 29 16 15 20 31 36 35 22 ;4 3 32 19 12 29 10 9 2 25 18 35 16 15 8 31 24 5 22 21 14 1 30 11 28 27 20 7 36 17 34 33 26 13 6 23 ;23 16 15 8 25 30 29 22 21 14 31 36 35 28 27 20 1 6 5 34 33 26 7 12 11 4 3 32 13 18 17 10 9 2 19 24 ;24 11 10 27 14 7 30 17 16 33 20 13 36 23 22 3 26 19 6 29 28 9 32 25 12 35 34 15 2 31 18 5 4 21 8 1 ;1 24 5 4 3 8 7 30 11 10 9 14 13 36 17 16 15 20 19 6 23 22 21 26 25 12 29 28 27 32 31 18 35 34 33 2 ;26 19 6 23 28 15 32 25 12 29 34 21 2 31 18 35 4 27 8 1 24 5 10 33 14 7 30 11 16 3 20 13 36 17 22 9 ;27 32 7 12 11 34 33 2 13 18 17 4 3 8 19 24 23 10 9 14 25 30 29 16 15 20 31 36 35 22 21 26 1 6 5 28 ;10 9 2 25 18 35 16 15 8 31 24 5 22 21 14 1 30 11 28 27 20 7 36 17 34 33 26 13 6 23 4 3 32 19 12 29 ;29 22 21 14 31 36 35 28 27 20 1 6 5 34 33 26 7 12 11 4 3 32 13 18 17 10 9 2 19 24 23 16 15 8 25 30 ;30 17 16 33 20 13 36 23 22 3 26 19 6 29 28 9 32 25 12 35 34 15 2 31 18 5 4 21 8 1 24 11 10 27 14 7 ;7 30 11 10 9 14 13 36 17 16 15 20 19 6 23 22 21 26 25 12 29 28 27 32 31 18 35 34 33 2 1 24 5 4 3 8 ;32 25 12 29 34 21 2 31 18 35 4 27 8 1 24 5 10 33 14 7 30 11 16 3 20 13 36 17 22 9 26 19 6 23 28 15 ;33 2 13 18 17 4 3 8 19 24 23 10 9 14 25 30 29 16 15 20 31 36 35 22 21 26 1 6 5 28 27 32 7 12 11 34 ;16 15 8 31 24 5 22 21 14 1 30 11 28 27 20 7 36 17 34 33 26 13 6 23 4 3 32 19 12 29 10 9 2 25 18 35 ;35 28 27 20 1 6 5 34 33 26 7 12 11 4 3 32 13 18 17 10 9 2 19 24 23 16 15 8 25 30 29 22 21 14 31 36 ;36 23 22 3 26 19 6 29 28 9 32 25 12 35 34 15 2 31 18 5 4 21 8 1 24 11 10 27 14 7 30 17 16 33 20 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[429 428 430 432 431 433 426 434 427 ;427 426 434 430 429 428 433 432 431 ;431 433 432 434 427 426 428 430 429 ;432 431 433 426 434 427 429 428 430 ;430 429 428 433 432 431 427 426 434 ;434 427 426 428 430 429 431 433 432 ;426 434 427 429 428 430 432 431 433 ;433 432 431 427 426 434 430 429 428 ;428 430 429 431 433 432 434 427 426 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[7 36 35 10 9 32 13 6 5 16 15 2 19 12 11 22 21 8 25 18 17 28 27 14 31 24 23 34 33 20 1 30 29 4 3 26 ;20 13 30 11 4 3 26 19 36 17 10 9 32 25 6 23 16 15 2 31 12 29 22 21 8 1 18 35 28 27 14 7 24 5 34 33 ;15 26 1 24 5 22 21 32 7 30 11 28 27 2 13 36 17 34 33 8 19 6 23 4 3 14 25 12 29 10 9 20 31 18 35 16 ;34 21 14 19 12 17 4 27 20 25 18 23 10 33 26 31 24 29 16 3 32 1 30 35 22 9 2 7 36 5 28 15 8 13 6 11 ;29 28 27 8 25 18 35 34 33 14 31 24 5 4 3 20 1 30 11 10 9 26 7 36 17 16 15 32 13 6 23 22 21 2 19 12 ;6 23 16 33 2 31 12 29 22 3 8 1 18 35 28 9 14 7 24 5 34 15 20 13 30 11 4 21 26 19 36 17 10 27 32 25 ;13 6 5 16 15 2 19 12 11 22 21 8 25 18 17 28 27 14 31 24 23 34 33 20 1 30 29 4 3 26 7 36 35 10 9 32 ;26 19 36 17 10 9 32 25 6 23 16 15 2 31 12 29 22 21 8 1 18 35 28 27 14 7 24 5 34 33 20 13 30 11 4 3 ;21 32 7 30 11 28 27 2 13 36 17 34 33 8 19 6 23 4 3 14 25 12 29 10 9 20 31 18 35 16 15 26 1 24 5 22 ;4 27 20 25 18 23 10 33 26 31 24 29 16 3 32 1 30 35 22 9 2 7 36 5 28 15 8 13 6 11 34 21 14 19 12 17 ;35 34 33 14 31 24 5 4 3 20 1 30 11 10 9 26 7 36 17 16 15 32 13 6 23 22 21 2 19 12 29 28 27 8 25 18 ;12 29 22 3 8 1 18 35 28 9 14 7 24 5 34 15 20 13 30 11 4 21 26 19 36 17 10 27 32 25 6 23 16 33 2 31 ;19 12 11 22 21 8 25 18 17 28 27 14 31 24 23 34 33 20 1 30 29 4 3 26 7 36 35 10 9 32 13 6 5 16 15 2 ;32 25 6 23 16 15 2 31 12 29 22 21 8 1 18 35 28 27 14 7 24 5 34 33 20 13 30 11 4 3 26 19 36 17 10 9 ;27 2 13 36 17 34 33 8 19 6 23 4 3 14 25 12 29 10 9 20 31 18 35 16 15 26 1 24 5 22 21 32 7 30 11 28 ;10 33 26 31 24 29 16 3 32 1 30 35 22 9 2 7 36 5 28 15 8 13 6 11 34 21 14 19 12 17 4 27 20 25 18 23 ;5 4 3 20 1 30 11 10 9 26 7 36 17 16 15 32 13 6 23 22 21 2 19 12 29 28 27 8 25 18 35 34 33 14 31 24 ;18 35 28 9 14 7 24 5 34 15 20 13 30 11 4 21 26 19 36 17 10 27 32 25 6 23 16 33 2 31 12 29 22 3 8 1 ;25 18 17 28 27 14 31 24 23 34 33 20 1 30 29 4 3 26 7 36 35 10 9 32 13 6 5 16 15 2 19 12 11 22 21 8 ;2 31 12 29 22 21 8 1 18 35 28 27 14 7 24 5 34 33 20 13 30 11 4 3 26 19 36 17 10 9 32 25 6 23 16 15 ;33 8 19 6 23 4 3 14 25 12 29 10 9 20 31 18 35 16 15 26 1 24 5 22 21 32 7 30 11 28 27 2 13 36 17 34 ;16 3 32 1 30 35 22 9 2 7 36 5 28 15 8 13 6 11 34 21 14 19 12 17 4 27 20 25 18 23 10 33 26 31 24 29 ;11 10 9 26 7 36 17 16 15 32 13 6 23 22 21 2 19 12 29 28 27 8 25 18 35 34 33 14 31 24 5 4 3 20 1 30 ;24 5 34 15 20 13 30 11 4 21 26 19 36 17 10 27 32 25 6 23 16 33 2 31 12 29 22 3 8 1 18 35 28 9 14 7 ;31 24 23 34 33 20 1 30 29 4 3 26 7 36 35 10 9 32 13 6 5 16 15 2 19 12 11 22 21 8 25 18 17 28 27 14 ;8 1 18 35 28 27 14 7 24 5 34 33 20 13 30 11 4 3 26 19 36 17 10 9 32 25 6 23 16 15 2 31 12 29 22 21 ;3 14 25 12 29 10 9 20 31 18 35 16 15 26 1 24 5 23 21 32 7 30 11 28 27 2 13 36 17 34 33 8 19 6 23 4 ;22 9 2 7 36 5 28 15 8 13 6 11 34 21 14 19 12 17 4 27 20 25 18 23 10 33 26 31 24 29 16 3 32 1 30 35 ;17 16 15 32 13 6 23 22 21 2 19 12 29 28 27 8 25 18 35 34 33 14 31 24 5 4 3 20 1 30 11 10 9 26 7 36 ;30 11 4 21 26 19 36 17 10 27 32 25 6 23 16 33 2 31 12 29 22 3 8 1 18 35 28 9 14 7 24 5 34 15 20 13 ;1 30 29 4 3 26 7 36 35 10 9 32 13 6 5 16 15 2 19 12 11 22 21 8 25 18 17 28 27 14 31 24 23 34 33 20 ;14 7 24 5 34 33 20 13 30 11 4 3 26 19 36 17 10 9 32 25 6 23 16 15 2 31 12 29 22 21 8 1 18 35 28 27 ;9 20 31 18 35 16 15 26 1 24 5 22 21 32 7 30 11 28 27 2 13 36 17 34 33 8 19 6 23 4 3 14 25 12 29 10 ;28 15 8 13 6 11 34 21 14 19 12 17 4 27 20 25 18 23 10 33 26 31 24 29 16 3 32 1 30 35 22 9 2 7 36 5 ;23 22 21 2 19 12 29 28 27 8 25 18 35 34 33 14 31 24 5 4 3 20 1 30 11 10 9 26 7 36 17 16 15 32 13 6 ;36 17 10 27 32 25 6 23 16 33 2 31 12 29 22 3 8 1 18 35 28 9 14 7 24 5 34 15 20 13 30 11 4 21 26 19 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[21 10 24 3 2 1 15 4 8 7 6 20 9 13 12 11 25 14 18 17 16 5 19 23 22 ;22 16 15 19 8 2 21 20 24 13 7 1 25 4 18 12 6 5 9 23 17 11 10 14 3 ;18 12 11 20 4 23 17 16 25 9 3 22 21 5 14 8 2 1 10 19 13 7 6 15 24 ;14 23 17 6 5 19 3 22 11 10 24 8 2 16 15 4 13 7 21 20 9 18 12 1 25 ;25 9 13 7 1 5 14 18 12 6 10 19 23 17 11 15 24 3 22 16 20 4 8 2 21 ;1 15 4 8 7 6 20 9 13 12 11 25 14 18 17 16 5 19 23 22 21 10 24 3 2 ;2 21 20 24 13 7 1 25 4 18 12 6 5 9 23 17 11 10 14 3 22 16 15 19 8 ;23 17 16 25 9 3 22 21 5 14 8 2 1 10 19 13 7 6 15 24 18 12 11 20 4 ;19 3 22 11 10 24 8 2 16 15 4 13 7 21 20 9 18 12 1 25 14 23 17 6 5 ;5 14 18 12 6 10 19 23 17 11 15 24 3 22 16 20 4 8 2 21 25 9 13 7 1 ;6 20 9 13 12 11 25 14 18 17 16 5 19 23 22 21 10 24 3 2 1 15 4 8 7 ;7 1 25 4 18 12 6 5 9 23 17 11 10 14 3 22 16 15 19 8 2 21 20 24 13 ;3 22 21 5 14 8 2 1 10 19 13 7 6 15 24 18 12 11 20 4 23 17 16 25 9 ;24 8 2 16 15 4 13 7 21 20 9 18 12 1 25 14 23 17 6 5 19 3 22 11 10 ;10 19 23 17 11 15 24 3 22 16 20 4 8 2 21 25 9 13 7 1 5 14 18 12 6 ;11 25 14 18 17 16 5 19 23 22 21 10 24 3 2 1 15 4 8 7 6 20 9 13 12 ;12 6 5 9 23 17 11 10 14 3 22 16 15 19 8 2 21 20 24 13 7 1 25 4 18 ;8 2 1 10 19 13 7 6 15 24 18 12 11 20 4 23 17 16 25 9 3 22 21 5 14 ;4 13 7 21 20 9 18 12 1 25 14 23 17 6 5 19 3 22 11 10 24 8 2 16 15 ;15 24 3 22 16 20 4 8 2 21 25 9 13 7 1 5 14 18 12 6 10 19 23 17 11 ;16 5 19 23 22 21 10 24 3 2 1 15 4 8 7 6 20 9 13 12 11 25 14 18 17 ;17 11 10 14 3 22 16 15 19 8 2 21 20 24 13 7 1 25 4 18 12 6 5 9 23 ;13 7 6 15 24 18 12 11 20 4 23 17 16 25 9 3 22 21 5 14 8 2 1 10 19 ;9 18 12 1 25 14 23 17 6 5 19 3 22 11 10 24 8 2 16 15 4 13 7 21 20 ;20 4 8 2 21 25 9 13 7 1 5 14 18 12 6 10 19 23 17 11 15 24 3 22 16 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[19 6 23 10 21 8 25 12 29 16 27 14 31 18 35 22 33 20 1 24 5 28 3 26 7 30 11 34 9 32 13 36 17 4 15 2 ;14 25 30 35 28 15 20 31 36 5 34 21 26 1 6 11 4 27 32 7 12 17 10 33 2 13 18 23 16 3 8 19 24 29 22 9 ;3 26 13 12 11 34 9 32 19 18 17 4 15 2 25 24 23 10 21 8 31 30 29 16 27 14 1 36 35 22 33 20 7 6 5 28 ;16 33 32 7 24 17 22 3 2 13 30 23 28 9 8 19 36 29 34 15 14 25 6 35 4 21 20 31 12 5 10 27 26 1 18 11 ;29 4 27 20 31 18 35 10 33 26 1 24 5 16 3 32 7 30 11 22 9 2 13 36 17 28 15 8 19 6 23 34 21 14 25 12 ;36 5 22 9 2 1 6 11 28 15 8 7 12 17 34 21 14 13 18 23 4 27 20 19 24 29 10 33 26 25 30 35 16 3 32 31 ;25 12 29 16 27 14 31 18 35 22 33 20 1 24 5 28 3 26 7 30 11 34 9 32 13 36 17 4 15 2 19 6 23 10 21 8 ;20 31 36 5 34 21 26 1 6 11 4 27 32 7 12 17 10 33 2 13 18 23 16 3 8 19 24 29 22 9 14 25 30 35 28 15 ;9 32 19 18 17 4 15 2 25 24 23 10 21 8 31 30 29 16 27 14 1 36 35 22 33 20 7 6 5 28 3 26 13 12 11 34 ;22 3 2 13 30 23 28 9 8 19 36 29 34 15 14 25 6 35 4 21 20 31 12 5 10 27 26 1 18 11 16 33 32 7 24 17 ;35 10 33 26 1 24 5 16 3 32 7 30 11 22 9 2 13 36 17 28 15 8 19 6 23 34 21 14 25 12 29 4 27 20 31 18 ;6 11 28 15 8 7 12 17 34 21 14 13 18 23 4 27 20 19 24 29 10 33 26 25 30 35 16 3 32 31 36 5 22 9 2 1 ;31 18 35 22 33 20 1 24 5 28 3 26 7 30 11 34 9 32 13 36 17 4 15 2 19 6 23 10 21 8 25 12 29 16 27 14 ;26 1 6 11 4 27 32 7 12 17 10 33 2 13 18 23 16 3 8 19 24 29 22 9 14 25 30 35 28 15 20 31 36 5 34 21 ;15 2 25 24 23 10 21 8 31 30 29 16 27 14 1 36 35 22 33 20 7 6 5 28 3 26 13 12 11 34 9 32 19 18 17 4 ;28 9 8 19 36 29 34 15 14 25 6 35 4 21 20 31 12 5 10 27 26 1 18 11 16 33 32 7 24 17 22 3 2 13 30 23 ;5 16 3 32 7 30 11 22 9 2 13 36 17 28 15 8 19 6 23 34 21 14 25 12 29 4 27 20 31 18 35 10 33 26 1 24 ;12 17 34 21 14 13 18 23 4 27 20 19 24 29 10 33 26 25 30 35 16 3 32 31 36 5 22 9 2 1 6 11 28 15 8 7 ;1 24 5 28 3 26 7 30 11 34 9 32 13 36 17 4 15 2 19 6 23 10 21 8 25 12 29 16 27 14 31 18 35 22 33 20 ;32 7 12 17 10 33 2 13 18 23 16 3 8 19 24 29 22 9 14 25 30 35 28 15 20 31 36 5 34 21 26 1 6 11 4 27 ;21 8 31 30 29 16 27 14 1 36 35 22 33 20 7 6 5 28 3 26 13 12 11 34 9 32 19 18 17 4 15 2 25 24 23 10 ;34 15 14 25 6 35 4 21 20 31 12 5 10 27 26 1 18 11 16 33 32 7 24 17 22 3 2 13 30 23 28 9 8 19 36 29 ;11 22 9 2 13 36 17 28 15 8 19 6 23 34 21 14 25 12 29 4 27 20 31 18 35 10 33 26 1 24 5 16 3 32 7 30 ;18 23 4 27 20 19 24 29 10 33 26 25 30 35 16 3 32 31 36 5 22 9 2 1 6 11 28 15 8 7 12 17 34 21 14 13 ;7 30 11 34 9 32 13 36 17 4 15 2 19 6 23 10 21 8 25 12 29 16 27 14 31 18 35 22 33 20 1 24 5 28 3 26 ;2 13 18 23 16 3 8 19 24 29 22 9 14 25 30 35 28 15 20 31 36 5 34 21 26 1 6 11 4 27 32 7 12 17 10 33 ;27 14 1 36 35 22 33 20 7 6 5 28 3 26 13 12 11 34 9 32 19 18 17 4 15 2 25 24 23 10 21 8 31 30 29 16 ;4 21 20 31 12 5 10 27 26 1 18 11 16 33 32 7 24 17 22 3 2 13 30 23 28 9 8 19 36 29 34 15 14 25 6 35 ;17 28 15 8 19 6 23 34 21 14 25 12 29 4 27 20 31 18 35 10 33 26 1 24 5 16 3 32 7 30 11 22 9 2 13 36 ;24 29 10 33 26 25 30 35 16 3 32 31 36 5 22 9 2 1 6 11 28 15 8 7 12 17 34 21 14 13 18 23 4 27 20 19 ;13 36 17 4 15 2 19 6 23 10 21 8 25 12 29 16 27 14 31 18 35 22 33 20 1 24 5 28 3 26 7 30 11 34 9 32 ;8 19 24 29 22 9 14 25 30 35 28 15 20 31 36 5 34 21 26 1 6 11 4 27 32 7 12 17 10 33 2 13 18 23 16 3 ;33 20 7 6 5 28 3 26 13 12 11 34 9 32 19 18 17 4 15 2 25 24 23 10 21 8 31 30 29 16 27 14 1 36 35 22 ;10 27 26 1 18 11 16 33 32 7 24 17 22 3 2 13 30 23 28 9 8 19 36 29 34 15 14 25 6 35 4 21 20 31 12 5 ;23 34 21 14 25 12 29 4 27 20 31 18 35 10 33 26 1 24 5 16 3 32 7 30 11 22 9 2 13 36 17 28 15 8 19 6 ;30 35 16 3 32 31 36 5 22 9 2 1 6 11 28 15 8 7 12 17 34 21 14 13 18 23 4 27 20 19 24 29 10 33 26 25 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[7 6 8 1 9 2 4 3 5 ;2 1 3 5 4 6 8 7 9 ;9 5 4 3 8 7 6 2 1 ;1 9 2 4 3 5 7 6 8 ;5 4 6 8 7 9 2 1 3 ;3 8 7 6 2 1 9 5 4 ;4 3 5 7 6 8 1 9 2 ;8 7 9 2 1 3 5 4 6 ;6 2 1 9 5 4 3 8 7 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 18 5 28 3 14 7 24 11 34 9 20 13 30 17 4 15 26 19 36 23 10 21 32 25 6 29 16 27 2 31 12 35 22 33 8 ;8 25 6 29 4 33 14 31 12 35 10 3 20 1 18 5 16 9 26 7 24 11 22 15 32 13 30 17 28 21 2 19 36 23 34 27 ;21 32 19 24 17 22 27 2 25 30 23 28 33 8 31 36 29 34 3 14 1 6 35 4 9 20 7 12 5 10 15 26 13 18 11 16 ;34 15 26 31 12 11 4 21 32 1 18 17 10 27 2 7 24 23 16 33 8 13 30 29 22 3 14 19 36 35 28 9 20 25 6 5 ;23 16 27 2 13 30 29 22 33 8 19 36 35 28 3 14 25 6 5 34 9 20 31 12 11 4 15 26 1 18 17 10 21 32 7 24 ;36 35 10 9 20 7 6 5 16 15 26 13 12 11 22 21 32 19 18 17 28 27 2 25 24 23 34 33 8 31 30 29 4 3 14 1 ;7 24 11 34 9 20 13 30 17 4 15 26 19 36 23 10 21 32 25 6 29 16 27 2 31 12 35 22 33 8 1 18 5 28 3 14 ;14 31 12 35 10 3 20 1 18 5 16 9 26 7 24 11 22 15 32 13 30 17 28 21 2 19 36 23 34 27 8 25 6 29 4 33 ;27 2 25 30 23 28 33 8 31 36 29 34 3 14 1 6 35 4 9 20 7 12 5 10 15 26 13 18 11 16 21 32 19 24 17 22 ;4 21 32 1 18 17 10 27 2 7 24 23 16 33 8 13 30 29 22 3 14 19 36 35 28 9 20 25 6 5 34 15 26 31 12 11 ;29 22 33 8 19 36 35 28 3 14 25 6 5 34 9 20 31 12 11 4 15 26 1 18 17 10 21 32 7 24 23 16 27 2 13 30 ;6 5 16 15 26 13 12 11 22 21 32 19 18 17 28 27 2 25 24 23 34 33 8 31 30 29 4 3 14 1 36 35 10 9 20 7 ;13 30 17 4 15 26 19 36 23 10 21 32 25 6 29 16 27 2 31 12 35 22 33 8 1 18 5 28 3 14 7 24 11 34 9 20 ;20 1 18 5 16 9 26 7 24 11 22 15 32 13 30 17 28 21 2 19 36 23 34 27 8 25 6 29 4 33 14 31 12 35 10 3 ;33 8 31 36 29 34 3 14 1 6 35 4 9 20 7 12 5 10 15 26 13 18 11 16 21 32 19 24 17 22 27 2 25 30 23 28 ;10 27 2 7 24 23 16 33 8 13 30 29 22 3 14 19 36 35 28 9 20 25 6 5 34 15 26 31 12 11 4 21 32 1 18 17 ;35 28 3 14 25 6 5 34 9 20 31 12 11 4 15 26 1 18 17 10 21 32 7 24 23 16 27 2 13 30 29 22 33 8 19 36 ;12 11 22 21 32 19 18 17 28 27 2 25 24 23 34 33 8 31 30 29 4 3 14 1 36 35 10 9 20 7 6 5 16 15 26 13 ;19 36 23 10 21 32 25 6 29 16 27 2 31 12 35 22 33 8 1 18 5 28 3 14 7 24 11 34 9 20 13 30 17 4 15 26 ;26 7 24 11 22 15 32 13 30 17 28 21 2 19 36 23 34 27 8 25 6 29 4 33 14 31 12 35 10 3 20 1 18 5 16 9 ;3 14 1 6 35 4 9 20 7 12 5 10 15 26 13 18 11 16 21 32 19 24 17 22 27 2 25 30 23 28 33 8 31 36 29 34 ;16 33 8 13 30 29 22 3 14 19 36 35 28 9 20 25 6 5 34 15 26 31 12 11 4 21 32 1 18 17 10 27 2 7 24 23 ;5 34 9 20 31 12 11 4 15 26 1 18 17 10 21 32 7 24 23 16 27 2 13 30 29 22 33 8 19 36 35 28 3 14 25 6 ;18 17 28 27 2 25 24 23 34 33 8 31 30 29 4 3 14 1 36 35 10 9 20 7 6 5 16 15 26 13 12 11 22 21 32 19 ;25 6 29 16 27 2 31 12 35 22 33 8 1 18 5 28 3 14 7 24 11 34 9 20 13 30 17 4 15 26 19 36 23 10 21 32 ;32 13 30 17 28 21 2 19 36 23 34 27 8 25 6 29 4 33 14 31 12 35 10 3 20 1 18 5 16 9 26 7 24 11 22 15 ;9 20 7 12 5 10 15 26 13 18 11 16 21 32 19 24 17 22 27 2 25 30 23 28 33 8 31 36 29 34 3 14 1 6 35 4 ;22 3 14 19 36 35 28 9 20 25 6 5 34 15 26 31 12 11 4 21 32 1 18 17 10 27 2 7 24 23 16 33 8 13 30 29 ;11 4 15 26 1 18 17 10 21 32 7 24 23 16 27 2 13 30 29 22 33 8 19 36 35 28 3 14 25 6 5 34 9 20 31 12 ;24 23 34 33 8 31 30 29 4 3 14 1 36 35 10 9 20 7 6 5 16 15 26 13 12 11 22 21 32 19 18 17 28 27 2 25 ;31 12 35 22 33 8 1 18 5 28 3 14 7 24 11 34 9 20 13 30 17 4 15 26 19 36 23 10 21 32 25 6 29 16 27 2 ;2 19 36 23 34 27 8 25 6 29 4 33 14 31 12 35 10 3 20 1 18 5 16 9 26 7 24 11 22 15 32 13 30 17 28 21 ;15 26 13 18 11 16 21 32 19 24 17 22 27 2 25 30 23 28 33 8 31 36 29 34 3 14 1 6 35 4 9 20 7 12 5 10 ;28 9 20 25 6 5 34 15 26 31 12 11 4 21 32 1 18 17 10 27 2 7 24 23 16 33 8 13 30 29 22 3 14 19 36 35 ;17 10 21 32 7 24 23 16 27 2 13 30 29 22 33 8 19 36 35 28 3 14 25 6 5 34 9 20 31 12 11 4 15 26 1 18 ;30 29 4 3 14 1 36 35 10 9 20 7 6 5 16 15 26 13 12 11 22 21 32 19 18 17 28 27 2 25 24 23 34 33 8 31 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[9 16 3 10 13 4 7 14 1 8 11 2 5 12 15 6 ;2 13 4 15 6 1 8 3 10 5 12 7 14 9 16 11 ;7 6 1 12 11 10 5 16 15 14 9 4 3 2 13 8 ;8 11 14 5 12 15 2 9 16 3 6 13 4 7 10 1 ;13 4 7 14 1 8 11 2 5 12 15 6 9 16 3 10 ;6 1 8 3 10 5 12 7 14 9 16 11 2 13 4 15 ;11 10 5 16 15 14 9 4 3 2 13 8 7 6 1 12 ;12 15 2 9 16 3 6 13 4 7 10 1 8 11 14 5 ;1 8 11 2 5 12 15 6 9 16 3 10 13 4 7 14 ;10 5 12 7 14 9 16 11 2 13 4 15 6 1 8 3 ;15 14 9 4 3 2 13 8 7 6 1 12 11 10 5 16 ;16 3 6 13 4 7 10 1 8 11 14 5 12 15 2 9 ;5 12 15 6 9 16 3 10 13 4 7 14 1 8 11 2 ;14 9 16 11 2 13 4 15 6 1 8 3 10 5 12 7 ;3 2 13 8 7 6 1 12 11 10 5 16 15 14 9 4 ;4 7 10 1 8 11 14 5 12 15 2 9 16 3 6 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 20 9 13 12 6 25 14 18 17 11 5 19 23 22 16 10 24 3 2 21 15 4 8 7 ;22 11 5 14 8 2 16 10 19 13 7 21 15 24 18 12 1 20 4 23 17 6 25 9 3 ;3 2 21 25 19 8 7 1 5 24 13 12 6 10 4 18 17 11 15 9 23 22 16 20 14 ;4 23 17 16 15 9 3 22 21 20 14 8 2 1 25 19 13 7 6 5 24 18 12 11 10 ;10 24 18 7 6 15 4 23 12 11 20 9 3 17 16 25 14 8 22 21 5 19 13 2 1 ;6 25 14 18 17 11 5 19 23 22 16 10 24 3 2 21 15 4 8 7 1 20 9 13 12 ;2 16 10 19 13 7 21 15 24 18 12 1 20 4 23 17 6 25 9 3 22 11 5 14 8 ;8 7 1 5 24 13 12 6 10 4 18 17 11 15 9 23 22 16 20 14 3 2 21 25 19 ;9 3 22 21 20 14 8 2 1 25 19 13 7 6 5 24 18 12 11 10 4 23 17 16 15 ;15 4 23 12 11 20 9 3 17 16 25 14 8 22 21 5 19 13 2 1 10 24 18 7 6 ;11 5 19 23 22 16 10 24 3 2 21 15 4 8 7 1 20 9 13 12 6 25 14 18 17 ;7 21 15 24 18 12 1 20 4 23 17 6 25 9 3 22 11 5 14 8 2 16 10 19 13 ;13 12 6 10 4 18 17 11 15 9 23 22 16 20 14 3 2 21 25 19 8 7 1 5 24 ;14 8 2 1 25 19 13 7 6 5 24 18 12 11 10 4 23 17 16 15 9 3 22 21 20 ;20 9 3 17 16 25 14 8 22 21 5 19 13 2 1 10 24 18 7 6 15 4 23 12 11 ;16 10 24 3 2 21 15 4 8 7 1 20 9 13 12 6 25 14 18 17 11 5 19 23 22 ;12 1 20 4 23 17 6 25 9 3 22 11 5 14 8 2 16 10 19 13 7 21 15 24 18 ;18 17 11 15 9 23 22 16 20 14 3 2 21 25 19 8 7 1 5 24 13 12 6 10 4 ;19 13 7 6 5 24 18 12 11 10 4 23 17 16 15 9 3 22 21 20 14 8 2 1 25 ;25 14 8 22 21 5 19 13 2 1 10 24 18 7 6 15 4 23 12 11 20 9 3 17 16 ;21 15 4 8 7 1 20 9 13 12 6 25 14 18 17 11 5 19 23 22 16 10 24 3 2 ;17 6 25 9 3 22 11 5 14 8 2 16 10 19 13 7 21 15 24 18 12 1 20 4 23 ;23 22 16 20 14 3 2 21 25 19 8 7 1 5 24 13 12 6 10 4 18 17 11 15 9 ;24 18 12 11 10 4 23 17 16 15 9 3 22 21 20 14 8 2 1 25 19 13 7 6 5 ;5 19 13 2 1 10 24 18 7 6 15 4 23 12 11 20 9 3 17 16 25 14 8 22 21 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[13 8 15 6 1 12 3 10 5 16 7 14 9 4 11 2 ;14 5 4 3 2 9 8 7 6 13 12 11 10 1 16 15 ;7 2 9 12 11 6 13 16 15 10 1 4 3 14 5 8 ;16 11 10 1 4 15 14 5 8 3 2 9 12 7 6 13 ;1 12 3 10 5 16 7 14 9 4 11 2 13 8 15 6 ;2 9 8 7 6 13 12 11 10 1 16 15 14 5 4 3 ;11 6 13 16 15 10 1 4 3 14 5 8 7 2 9 12 ;4 15 14 5 8 3 2 9 12 7 6 13 16 11 10 1 ;5 16 7 14 9 4 11 2 13 8 15 6 1 12 3 10 ;6 13 12 11 10 1 16 15 14 5 4 3 2 9 8 7 ;15 10 1 4 3 14 5 8 7 2 10 12 11 6 13 16 ;8 3 2 9 12 7 6 13 16 11 10 1 4 15 14 5 ;9 4 11 2 13 8 15 6 1 12 3 10 5 16 7 14 ;10 1 16 15 14 5 4 3 2 9 8 7 6 13 12 11 ;3 14 5 8 7 2 9 12 11 6 13 16 15 10 1 4 ;12 7 6 13 16 11 10 1 4 15 14 5 8 3 2 9 ];\r\nvexp=0\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[21 25 24 13 17 1 5 4 18 22 6 10 9 23 2 11 15 14 3 7 16 20 19 8 12 ;7 16 10 14 23 12 21 15 19 3 17 1 20 24 8 22 6 25 4 13 2 11 5 9 18 ;8 12 6 15 9 13 17 11 20 14 18 22 16 25 19 23 2 21 5 24 3 7 1 10 4 ;19 3 22 1 5 24 8 2 6 10 4 13 7 11 15 9 18 12 16 20 14 23 17 21 25 ;20 4 18 2 11 25 9 23 7 16 5 14 3 12 21 10 19 8 17 1 15 24 13 22 6 ;1 5 4 18 22 6 10 9 23 2 11 15 14 3 7 16 20 19 8 12 21 25 24 13 17 ;12 21 15 19 3 17 1 20 24 8 22 6 25 4 13 2 11 5 9 18 7 16 10 14 23 ;13 17 11 20 14 18 22 16 25 19 23 2 21 5 24 3 7 1 10 4 8 12 6 15 9 ;24 8 2 6 10 4 13 7 11 15 9 18 12 16 20 14 23 17 21 25 19 3 22 1 5 ;25 9 23 7 16 5 14 3 12 21 10 19 8 17 1 15 24 13 22 6 20 4 18 2 11 ;6 10 9 23 2 11 15 14 3 7 16 20 19 8 12 21 25 24 13 17 1 5 4 18 22 ;17 1 20 24 8 22 6 25 4 13 2 11 5 9 18 7 16 10 14 23 12 21 15 19 3 ;18 22 16 25 19 23 2 21 5 24 3 7 1 10 4 8 12 6 15 9 13 17 11 20 14 ;4 13 7 11 15 9 18 12 16 20 14 23 17 21 25 19 3 22 1 5 24 8 2 6 10 ;5 14 3 12 21 10 19 8 17 1 15 24 13 22 6 20 4 18 2 11 25 9 23 7 16 ;11 15 14 3 7 16 20 19 8 12 21 25 24 13 17 1 5 4 18 22 6 10 9 23 2 ;22 6 25 4 13 2 11 5 9 18 7 16 10 14 23 12 21 15 19 3 17 1 20 24 8 ;23 2 21 5 24 3 7 1 10 4 8 12 6 15 9 13 17 11 20 14 18 22 16 25 19 ;9 18 12 16 20 14 23 17 21 25 19 3 22 1 5 24 8 2 6 10 4 13 7 11 15 ;10 19 8 17 1 15 24 13 22 6 20 4 18 2 11 25 9 23 7 16 5 14 3 12 21 ;16 20 19 8 12 21 25 24 13 17 1 5 4 18 22 6 10 9 23 2 11 15 14 3 7 ;2 11 5 9 18 7 16 10 14 23 12 21 15 19 3 17 1 20 24 8 22 6 25 4 13 ;3 7 1 10 4 8 12 6 15 9 13 17 11 20 14 18 22 16 25 19 23 2 21 5 24 ;14 23 17 21 25 19 3 22 1 5 24 8 2 6 10 4 13 7 11 15 9 18 12 16 20 ;15 24 13 22 6 20 4 18 2 11 25 9 23 7 16 5 14 3 12 21 10 19 8 17 1 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[9 8 7 6 13 12 11 10 1 16 15 14 5 4 3 2 ;14 1 4 11 2 5 8 15 6 9 12 3 10 13 16 7 ;3 2 5 16 7 6 9 4 11 10 13 8 15 14 1 12 ;12 15 10 13 16 3 14 1 4 7 2 5 8 11 6 9 ;13 12 11 10 1 16 15 14 5 4 3 2 9 8 7 6 ;2 5 8 15 6 9 12 3 10 13 16 7 14 1 4 11 ;7 6 9 4 11 10 13 8 15 14 1 12 3 2 5 16 ;16 3 14 1 4 7 2 5 8 11 6 9 12 15 10 13 ;1 16 15 14 5 4 3 2 9 8 7 6 13 12 11 10 ;6 9 12 3 10 13 16 7 14 1 4 11 2 5 8 15 ;11 10 13 8 15 14 1 12 3 2 5 16 7 6 9 4 ;4 7 2 5 8 11 6 9 12 15 10 13 16 3 14 1 ;5 4 3 2 9 8 7 6 13 12 11 10 1 16 15 14 ;10 13 16 7 14 1 4 11 2 5 8 15 6 9 12 3 ;15 14 1 12 3 2 5 16 7 6 9 4 11 10 13 8 ;8 11 6 9 12 15 10 13 16 3 14 1 4 7 2 5 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[1 6 17 4 33 2 7 12 23 10 3 8 13 18 29 16 9 14 19 24 35 22 15 20 25 30 5 28 21 26 31 36 11 34 27 32 ;8 19 12 29 10 15 14 25 18 35 16 21 20 31 24 5 22 27 26 1 30 11 28 33 32 7 36 17 34 3 2 13 6 23 4 9 ;9 26 7 18 23 28 15 32 13 24 29 34 21 2 19 30 35 4 27 8 25 36 5 10 33 14 31 6 11 16 3 20 1 12 17 22 ;16 27 32 31 30 11 22 33 2 1 36 17 28 3 8 7 6 23 34 9 14 13 12 29 4 15 20 19 18 35 10 21 26 25 24 5 ;35 34 3 20 13 24 5 4 9 26 19 30 11 10 15 32 25 36 17 16 21 2 31 6 23 22 27 8 1 12 29 28 33 14 7 18 ;36 5 22 21 14 25 6 11 28 27 20 31 12 17 34 33 26 1 18 23 4 3 32 7 24 29 10 9 2 13 30 35 16 15 8 19 ;7 12 23 10 3 8 13 18 29 16 9 14 19 24 35 22 15 20 25 30 5 28 21 26 31 36 11 34 27 32 1 6 17 4 33 2 ;14 25 18 35 16 21 20 31 24 5 22 27 26 1 30 11 28 33 32 7 36 17 34 3 2 13 6 23 4 9 8 19 12 29 10 15 ;15 32 13 24 29 34 21 2 19 30 35 4 27 8 25 36 5 10 33 14 31 6 11 16 3 20 1 12 17 22 9 26 7 18 23 28 ;22 33 2 1 36 17 28 3 8 7 6 23 34 9 14 13 12 29 4 15 20 19 18 35 10 21 26 25 24 5 16 27 32 31 30 11 ;5 4 9 26 19 30 11 10 15 32 25 36 17 16 21 2 31 6 23 22 27 8 1 12 29 28 33 14 7 18 35 34 3 20 13 24 ;6 11 28 27 20 31 12 17 34 33 26 1 18 23 4 3 32 7 24 29 10 9 2 13 30 35 16 15 8 19 36 5 22 21 14 25 ;13 18 29 16 9 14 19 24 35 22 15 20 25 30 5 28 21 26 31 36 11 34 27 32 1 6 17 4 33 2 7 12 23 10 3 8 ;20 31 24 5 22 27 26 1 30 11 28 33 32 7 36 17 34 3 2 13 6 23 4 9 8 19 12 29 10 15 14 25 18 35 16 21 ;21 2 19 30 35 4 27 8 25 36 5 10 33 14 31 6 11 16 3 20 1 12 17 22 9 26 7 18 23 28 15 32 13 24 29 34 ;28 3 8 7 6 23 34 9 14 13 12 29 4 15 20 19 18 35 10 21 26 25 24 5 16 27 32 31 30 11 22 33 2 1 36 17 ;11 10 15 32 25 36 17 16 21 2 31 6 23 22 27 8 1 12 29 28 33 14 7 18 35 34 3 20 13 24 5 4 9 26 19 30 ;12 17 34 33 26 1 18 23 4 3 32 7 24 29 10 9 2 13 30 35 16 15 8 19 36 5 22 21 14 25 6 11 28 27 20 31 ;19 24 35 22 15 20 25 30 5 28 21 26 31 36 11 34 27 32 1 6 17 4 33 2 7 12 23 10 3 8 13 18 29 16 9 14 ;26 1 30 11 28 33 32 7 36 17 34 3 2 13 6 23 4 9 8 19 12 29 10 15 14 25 18 35 16 21 20 31 24 5 22 27 ;27 8 25 36 5 10 33 14 31 6 11 16 3 20 1 12 17 22 9 26 7 18 23 28 15 32 13 24 29 34 21 2 19 30 35 4 ;34 9 14 13 12 29 4 15 20 19 18 35 10 21 26 25 24 5 16 27 32 31 30 11 22 33 2 1 36 17 28 3 8 7 6 23 ;17 16 21 2 31 6 23 22 27 8 1 12 29 28 33 14 7 18 35 34 3 20 13 24 5 4 9 26 19 30 11 10 15 32 25 36 ;18 23 4 3 32 7 24 29 10 9 2 13 30 35 16 15 8 19 36 5 22 21 14 25 6 11 28 27 20 31 12 17 34 33 26 1 ;25 30 5 28 21 26 31 36 11 34 27 32 1 6 17 4 33 2 7 12 23 10 3 8 13 18 29 16 9 14 19 24 35 22 15 20 ;32 7 36 17 34 3 2 13 6 23 4 9 8 19 12 29 10 15 14 25 18 35 16 21 20 31 24 5 22 27 26 1 30 11 28 33 ;33 14 31 6 11 16 3 20 1 12 17 22 9 26 7 18 23 28 15 32 13 24 29 34 21 2 19 30 35 4 27 8 25 36 5 10 ;4 15 20 19 18 35 10 21 26 25 24 5 16 27 32 31 30 11 22 33 2 1 36 17 28 3 8 7 6 23 34 9 14 13 12 29 ;23 22 27 8 1 12 29 28 33 14 7 18 35 34 3 20 13 24 5 4 9 26 19 30 11 10 15 32 25 36 17 16 21 2 31 6 ;24 29 10 9 2 13 30 35 16 15 8 19 36 5 22 21 14 25 6 11 28 27 20 31 12 17 34 33 26 1 18 23 4 3 32 7 ;31 36 11 34 27 32 1 6 17 4 33 2 7 12 23 10 3 8 13 18 29 16 9 14 19 24 35 22 15 20 25 30 5 28 21 26 ;2 13 6 23 4 9 8 19 12 29 10 15 14 25 18 35 16 21 20 31 24 5 22 27 26 1 30 11 28 33 32 7 36 17 34 3 ;3 20 1 12 17 22 9 26 7 18 23 28 15 32 13 24 29 34 21 2 19 30 35 4 27 8 25 36 5 10 33 14 31 6 11 16 ;10 21 26 25 24 5 16 27 32 31 30 11 22 33 2 1 36 17 28 3 8 7 6 23 34 9 14 13 12 29 4 15 20 19 18 35 ;29 28 33 14 7 18 35 34 3 20 13 24 5 4 9 26 19 30 11 10 15 32 25 36 17 16 21 2 31 6 23 22 27 8 1 12 ;30 35 16 15 8 19 36 5 22 21 14 25 6 11 28 27 20 31 12 17 34 33 26 1 18 23 4 3 32 7 24 29 10 9 2 13 ];\r\nvexp=1\r\nv=Sudoku_CH(zm);\r\nassert(isequal(v,vexp))","published":true,"deleted":false,"likes_count":4,"comments_count":1,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":66,"test_suite_updated_at":"2013-10-14T05:18:15.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2013-10-14T02:09:35.000Z","updated_at":"2025-12-15T20:06:09.000Z","published_at":"2013-10-14T02:26:56.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/2929486/dashboard#s=p0\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 China Sudoku\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Large Case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Goal is determine if the Sudoku square is valid. Each row and column must contain 1:N, for an NxN matix. Nroot=N^.5. Each NrootxNroot block must contain 1:N where blocks start at [1,1+Nroot,...] in Row/Col.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [M], NxN matrix (3^2\u0026lt;=N\u0026lt;=6^2)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e TF, 1=Valid, 0=Invalid\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[TF=1\\n5 3 4 6 7 8 9 1 2\\n6 7 2 1 9 5 3 4 8\\n1 9 8 3 4 2 5 6 7\\n8 5 9 7 6 1 4 2 3\\n4 2 6 8 5 3 7 9 1\\n7 1 3 9 2 4 8 5 6\\n9 6 1 5 3 7 2 8 4\\n2 8 7 4 1 9 6 3 5\\n3 4 5 2 8 6 1 7 9\\n\\nTF=0\\n5 3 4 6 7 8 9 1 2\\n6 7 2 1 9 5 3 4 8\\n1 9 8 3 4 2 5 6 7\\n8 5 9 7 6 1 4 2 3\\n4 2 6 8 999 3 7 9 1\\n7 1 3 9 2 4 8 5 6\\n9 6 1 5 3 7 2 8 4\\n2 8 7 4 1 9 6 3 5\\n3 4 5 2 8 6 1 7 9]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eContest Performance:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Best Delta Time of 7 minutes with 1146 of 2010 able to process the large data set.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":1903,"title":"GJam 2014 China Rd A: Maze with a Left Hand Rule","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/2924486/dashboard#s=p3 GJam 2014 China Cross the Maze\u003e.\r\n\r\nThe Goal is to minimally traverse a Maze from a Starting Point to Finish Point in less than 10,000 moves where the Bot can only go forward and must maintain its Left Arm in contact with a wall. At the Start Point the Bot can only touch NSEW. After the first move the Bot maintains contact on diagonals. Rotations in a cul-de-sac or turning are not counted as moves.\r\n\r\n\r\n*Input:* [M, Start_Finish] where M is an NxN (0,1=Wall) array and Start_Finish is [Sr,Sc,Fr,Fc]\r\n\r\n*Output:* Path, a string of Movements {N,S,E,W}. If Path is \u003e10,000 moves or No solution return a null string.\r\n\r\n*Examples:*\r\n\r\n  .##.#\r\n  .....\r\n  ...#.\r\n  .###.\r\n  ...#.\r\n  1 1 5 3\r\n\r\nNote: (1,1) is Top Left and start point for this case. \r\n\r\nThe # are replaced by 1s and '.' will be 0s.\r\n\r\nOutput: SEEENSESSSNNNWWSWWSSEE\r\n\r\n*Contest Performance:* Best Delta Time of 17 minutes with only 134 correct solutions in 3 hours.\r\n","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/2924486/dashboard#s=p3\"\u003eGJam 2014 China Cross the Maze\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eThe Goal is to minimally traverse a Maze from a Starting Point to Finish Point in less than 10,000 moves where the Bot can only go forward and must maintain its Left Arm in contact with a wall. At the Start Point the Bot can only touch NSEW. After the first move the Bot maintains contact on diagonals. Rotations in a cul-de-sac or turning are not counted as moves.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [M, Start_Finish] where M is an NxN (0,1=Wall) array and Start_Finish is [Sr,Sc,Fr,Fc]\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Path, a string of Movements {N,S,E,W}. If Path is \u003e10,000 moves or No solution return a null string.\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e.##.#\r\n.....\r\n...#.\r\n.###.\r\n...#.\r\n1 1 5 3\r\n\u003c/pre\u003e\u003cp\u003eNote: (1,1) is Top Left and start point for this case.\u003c/p\u003e\u003cp\u003eThe # are replaced by 1s and '.' will be 0s.\u003c/p\u003e\u003cp\u003eOutput: SEEENSESSSNNNWWSWWSSEE\u003c/p\u003e\u003cp\u003e\u003cb\u003eContest Performance:\u003c/b\u003e Best Delta Time of 17 minutes with only 134 correct solutions in 3 hours.\u003c/p\u003e","function_template":"function Path=Maze_CH(m,sf);\r\n  Path='';;\r\nend","test_suite":"%%\r\ntic\r\nzm=[0 1 ;1 0 ];\r\nzsf=[1 1 2 2 ];\r\nvexp='';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 1 1 0 1 ;0 0 0 0 0 ;0 0 0 1 0 ;0 1 1 1 0 ;0 0 0 1 0 ];\r\nzsf=[1 1 5 3 ];\r\nvexp='SEEENSESSSNNNWWSWWSSEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 ;0 1 0 ;0 0 0 ];\r\nzsf=[1 1 3 3 ];\r\nvexp='EESS';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 1 2 2 ];\r\nvexp='';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 1 0 1 0 1 0 1 ;0 0 0 0 0 0 0 0 ;1 1 1 1 1 1 1 0 ;0 0 0 0 0 0 0 0 ;0 1 0 1 0 1 0 1 ;0 1 1 1 1 1 1 1 ;0 1 0 1 0 1 0 1 ;0 0 0 0 0 0 0 0 ];\r\nzsf=[1 1 8 8 ];\r\nvexp='SEENSEENSEENSESSWSNWWSNWWSNWWSSSSEENSEENSEENSE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 10 1 4 ];\r\nvexp='SSSSSSSSSWWWWWWWWWNNNNNNNNNEEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 1 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 1 3 1 ];\r\nvexp='EEEEEEEESESSSSSSSSWWWWWWWWWNNNNNNN';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 1 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 1 7 1 ];\r\nvexp='EEEEEEEEESSSSSSSSSWWWWWWWWWNNN';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 1 0 0 ;0 0 0 1 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 1 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 10 1 4 ];\r\nvexp='SSSSSSSSSWWWWWWWWWNNNNNNNNNEEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 1 0 0 0 ;1 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 1 ;0 0 0 1 0 0 0 0 0 0 ;0 1 0 0 1 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[10 1 10 3 ];\r\nvexp='NNNNNENNWNNEEEEEEEEESSSSSWSSESSWWWWWWW';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 1 0 0 0 0 1 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 10 1 4 ];\r\nvexp='SSSSSSSSSWWWWWWWWWNNNNNNNNNEEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 1 ;0 0 0 0 0 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 0 ;0 0 0 0 0 1 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 1 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 1 0 0 0 0 0 0 ];\r\nzsf=[10 1 10 2 ];\r\nvexp='NNNNNNNNNEEEEEEEEESWSSESSSSSSWWWWWNWWSW';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 1 0 0 0 0 0 0 ;0 0 1 0 0 0 0 0 1 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 1 1 0 0 0 0 1 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[10 10 1 10 ];\r\nvexp='WWWWWWWWWNNNNNNNNNEEWSSEENENEEEEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 0 0 ;0 0 1 0 0 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 1 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 1 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[10 10 5 10 ];\r\nvexp='WWWWWWWWWNNNNNNNNNEEEEEEEEESSSS';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 1 0 0 0 0 0 0 0 0 ;0 0 0 0 1 0 1 0 0 0 ;0 0 0 0 0 1 0 1 0 1 ;0 0 0 0 1 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 0 ;0 0 0 1 0 0 0 0 1 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 1 0 0 0 0 0 0 1 ;0 0 0 1 0 0 0 0 0 0 ;1 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 1 9 1 ];\r\nvexp='SEENEEEEEEESWSSESSSWSSESWWWWWWWWNW';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 1 0 0 0 0 0 1 1 ;0 1 0 0 0 1 0 1 1 0 ;0 0 0 1 0 1 0 1 0 1 ;0 0 1 0 1 0 1 0 0 1 ;0 0 0 1 0 0 0 0 0 1 ;0 1 0 0 1 0 0 1 1 1 ;0 0 0 1 0 1 0 0 0 1 ;0 1 0 0 0 1 0 0 0 0 ;1 0 0 1 0 0 1 0 0 0 ;0 1 0 1 1 0 0 0 0 1 ];\r\nzsf=[10 1 9 6 ];\r\nvexp='';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 1 0 1 0 0 0 0 0 0 ;0 1 0 0 0 0 1 0 0 0 ;1 0 0 1 0 0 1 0 0 0 ;1 0 0 1 1 0 0 0 0 0 ;0 1 1 0 1 0 1 1 1 0 ;1 1 1 0 0 0 0 0 0 0 ;1 0 0 0 1 0 1 0 0 0 ;1 1 1 1 0 1 0 0 1 0 ;1 1 0 1 1 0 1 1 1 1 ;0 1 1 1 1 0 1 1 1 0 ];\r\nzsf=[1 1 10 6 ];\r\nvexp='';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 1 0 0 0 0 0 0 1 1 ;1 0 0 1 1 0 0 1 0 1 ;0 0 0 1 0 0 0 0 1 0 ;0 0 0 0 1 0 0 0 0 1 ;0 0 1 0 0 1 0 0 0 0 ;0 0 1 0 0 0 1 0 0 0 ;0 0 1 1 1 1 1 1 0 0 ;1 0 0 0 1 0 1 1 1 0 ;1 0 0 0 1 1 0 1 1 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[10 10 3 6 ];\r\nvexp='';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 1 0 0 0 0 0 0 0 ;0 0 0 0 0 0 1 0 0 0 ;1 0 0 0 0 0 0 0 0 0 ;1 0 0 1 0 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 0 ;0 0 1 0 1 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 1 0 0 ;0 0 0 0 0 0 0 1 0 0 ];\r\nzsf=[10 1 10 3 ];\r\nvexp='NNNNNSESEENNWNWNNWNESEENEEEEEESSSSSSSSSWNNWWSSWWWW';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 1 0 1 0 0 0 0 ;0 0 0 0 0 0 0 1 0 0 ;0 0 0 0 1 0 0 0 0 1 ;1 1 0 0 0 0 0 0 0 0 ;0 0 0 0 0 1 0 0 0 1 ;0 0 0 0 0 0 0 0 1 0 ;0 0 0 0 0 0 0 1 0 1 ;0 0 0 0 1 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 1 0 ];\r\nzsf=[1 1 5 3 ];\r\nvexp='EESEENSEENEEESWSSEWSWSWSSEENSESSNWWSWWWWWWWNNNNNEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 0 0 1 1 ;0 1 0 0 0 0 0 1 0 0 ;0 0 0 1 0 0 1 1 0 0 ;0 0 0 0 0 1 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 1 1 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 1 1 0 0 ;0 0 0 0 1 0 0 0 0 0 ];\r\nzsf=[10 10 8 10 ];\r\nvexp='WWWWNWWSWWWNNNNNNNNNEEEEEEEWSWSWSSEENEENNESSSSWWSSEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 1 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;1 1 0 0 0 0 0 0 0 0 ;1 0 0 0 0 1 0 0 0 0 ;0 0 0 0 0 0 0 1 1 0 ;0 0 0 0 0 0 1 0 0 1 ;0 0 0 0 0 0 0 0 0 0 ;0 1 0 0 0 1 0 0 0 0 ;1 0 1 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ];\r\nzsf=[10 1 10 10 ];\r\nvexp='ENSEENNWNWWSNNNENENNWWNEEESEENEEEESSSSNWWWSWSSEENESESSS';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 1 0 0 0 0 0 ;1 1 1 0 0 0 1 0 0 0 ;0 0 1 1 1 0 1 0 0 0 ;0 0 0 1 1 0 0 0 0 0 ;0 0 1 0 0 0 0 0 0 1 ;0 0 0 0 0 0 0 0 0 0 ;0 1 0 0 0 0 0 0 1 0 ;0 0 0 1 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 1 0 0 0 0 0 0 0 ];\r\nzsf=[10 10 6 10 ];\r\nvexp='WWWWWWNWWSWNNNNNNNESEWSSEENEENNNWWNWWWEEESEENEEEESSSWSSE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 1 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 1 0 ;0 0 0 0 0 0 1 0 0 0 ;0 0 0 0 0 1 1 0 0 1 ;0 0 0 0 0 0 0 1 0 0 ;1 0 0 0 0 1 0 0 1 0 ;0 0 0 0 0 0 0 0 0 1 ;0 0 0 1 1 0 1 0 0 0 ;0 1 1 1 0 0 0 1 0 0 ;0 0 0 0 1 0 1 0 0 0 ];\r\nzsf=[1 10 6 2 ];\r\nvexp='SSWSSESNWNWNNWWSWSSEESESESESSWWENNWNWWSSEWSNWENNWWWSWWSSEEEWWWNNNEN';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 1 0 0 0 ;0 0 0 1 0 1 0 0 0 0 ;0 0 0 0 0 0 1 0 0 0 ;0 0 0 0 0 1 0 0 0 0 ;1 1 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 1 0 1 0 ;0 0 0 0 0 0 0 1 1 0 ;1 1 0 0 0 1 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 0 ];\r\nzsf=[1 10 2 8 ];\r\nvexp='SSSSSSSSSWWWWWWWNWWSNEENNWWNEENNWWNNNEEEEEWSSEWSSEENENN';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[1 0 0 0 0 0 0 0 0 0 ;0 0 0 1 0 0 1 0 0 0 ;1 0 0 0 0 0 0 0 1 0 ;0 0 1 1 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 1 ;1 0 0 0 1 0 0 0 0 0 ;0 0 0 1 0 0 0 0 1 0 ;0 0 1 0 0 1 0 0 0 0 ;0 0 0 0 0 1 0 1 0 0 ;0 0 1 0 0 0 1 0 1 0 ];\r\nzsf=[1 10 1 6 ];\r\nvexp='SSSWSSESSSSNWNWWSNNWWSSSEWWNWWSWNNNENNWNENNWENEEEE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 1 0 0 0 ;0 0 0 0 0 0 1 0 1 0 ;0 0 0 0 0 0 0 0 1 0 ;1 1 0 0 0 0 0 0 0 0 ;0 0 1 0 0 0 1 0 0 0 ;1 0 0 1 0 0 0 0 0 0 ;1 1 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 1 0 ;0 0 0 0 1 0 0 0 1 0 ];\r\nzsf=[1 1 7 4 ];\r\nvexp='EEEEESSEENNEESSSSSSSSSNNWWSSWWNWWSWWWNNEENNWNWESESE';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 1 0 0 1 1 1 0 1 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 1 0 0 0 0 1 0 0 ;0 0 0 1 1 1 0 0 0 0 ;1 1 1 0 0 0 0 0 1 0 ;0 1 0 0 0 1 0 0 0 1 ;0 0 1 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 0 0 0 1 0 0 0 0 ;0 0 0 1 0 0 0 0 0 0 ];\r\nzsf=[10 1 10 5 ];\r\nvexp='NNNNSESEENNWENEEENNWWWNWWSSEWWNNNSEENESEEEENSEENSSSSNWWSSESESSSWWWWW';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 0 0 0 1 1 0 1 ;0 0 1 0 0 0 0 0 0 0 ;0 1 0 1 0 0 0 0 1 0 ;0 0 0 0 1 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 1 ;0 0 0 0 1 0 0 1 0 0 ;0 0 0 0 1 0 0 1 0 1 ;0 0 0 0 0 1 0 0 1 0 ;0 0 0 0 0 1 1 0 0 0 ;0 0 1 0 0 0 1 0 0 0 ];\r\nzsf=[10 1 9 2 ];\r\nvexp='NNNNNNNNNEEEEESEEENSESSWSSEWSNNWWSSSESEENSSWWNNWNWNNWWSSSESSEWWNWW';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzm=[0 0 0 1 0 0 1 0 0 0 ;1 0 0 0 0 1 1 0 0 1 ;0 0 1 1 0 0 0 0 1 0 ;0 1 0 1 0 0 0 0 1 0 ;1 1 0 0 0 0 0 0 0 0 ;1 1 0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 ;0 0 1 0 0 0 0 0 0 0 ;1 0 0 0 1 0 0 0 0 1 ;0 0 0 0 0 1 0 1 0 0 ];\r\nzsf=[10 1 8 4 ];\r\nvexp='ENNWNEENNNSEENNNWWWSWSNENNWEESEENEWSSEEENNEEWSWSSSEENNSSSSSWSSEWNWWSNWNWW';\r\nvstr=Maze_CH(zm,zsf);\r\nassert(strcmp(vstr,vexp))\r\ntoc","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":6,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-09-30T03:46:21.000Z","updated_at":"2026-02-10T13:15:01.000Z","published_at":"2013-09-30T04:01:29.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/2924486/dashboard#s=p3\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 China Cross the Maze\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Goal is to minimally traverse a Maze from a Starting Point to Finish Point in less than 10,000 moves where the Bot can only go forward and must maintain its Left Arm in contact with a wall. At the Start Point the Bot can only touch NSEW. After the first move the Bot maintains contact on diagonals. Rotations in a cul-de-sac or turning are not counted as moves.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [M, Start_Finish] where M is an NxN (0,1=Wall) array and Start_Finish is [Sr,Sc,Fr,Fc]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Path, a string of Movements {N,S,E,W}. If Path is \u0026gt;10,000 moves or No solution return a null string.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[.##.#\\n.....\\n...#.\\n.###.\\n...#.\\n1 1 5 3]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eNote: (1,1) is Top Left and start point for this case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe # are replaced by 1s and '.' will be 0s.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput: SEEENSESSSNNNWWSWWSSEE\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eContest Performance:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Best Delta Time of 17 minutes with only 134 correct solutions in 3 hours.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":1901,"title":"GJam 2014 China Rd A: Read Phone Number","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/2924486/dashboard GJam 2014 China Read Phone Number\u003e. Small Case.\r\n\r\nThe Goal is to output a string for the reading of a segmented phone number. When numbers are replicated within a segment the number is preceded by its multiplier. If there are more than 10 repeats in a segment then the number is output for the number of occurrences. Count multipliers are double, triple, quadruple, quintuple, sextuple, septuple, octuple, nonuple, and decuple for 2 thru 10, respectively.\r\n\r\n\r\n*Input:* [Number, Segments] where Number is a string and segments is a Vector that sums to the length of Number\r\n\r\n*Output:* Text, a string of the reading based upon segments\r\n\r\n*Examples:*\r\n\r\n  [Number,Segments]  [Text]\r\n    ['15012233444', [3 4 4]] ['one five zero one double two three three triple four']\r\n    ['15012233444', [3 3 5]] ['one five zero one double two double three triple four']\r\n    \r\n\r\n*Contest Performance:* Best Delta Time of 11 minutes with 1885 of 3058 able to process the small data set.\r\n","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/2924486/dashboard\"\u003eGJam 2014 China Read Phone Number\u003c/a\u003e. Small Case.\u003c/p\u003e\u003cp\u003eThe Goal is to output a string for the reading of a segmented phone number. When numbers are replicated within a segment the number is preceded by its multiplier. If there are more than 10 repeats in a segment then the number is output for the number of occurrences. Count multipliers are double, triple, quadruple, quintuple, sextuple, septuple, octuple, nonuple, and decuple for 2 thru 10, respectively.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [Number, Segments] where Number is a string and segments is a Vector that sums to the length of Number\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Text, a string of the reading based upon segments\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e[Number,Segments]  [Text]\r\n  ['15012233444', [3 4 4]] ['one five zero one double two three three triple four']\r\n  ['15012233444', [3 3 5]] ['one five zero one double two double three triple four']\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eContest Performance:\u003c/b\u003e Best Delta Time of 11 minutes with 1885 of 3058 able to process the small data set.\u003c/p\u003e","function_template":"function Text = Phone_CH(str,v) %\r\n Text='';\r\nend\r\n\r\n% One method for inserting strings from a cell array\r\nfunction valuestr=Phone_number(x)\r\n valuecell={'zero' 'one' 'two' 'three' 'four' 'five' 'six' 'seven' 'eight' 'nine'};\r\n valuestr=valuecell{x+1};\r\nend\r\n\r\nfunction qtystr=Phone_qty(x)\r\n qtycell={'' 'double' 'triple' 'quadruple' 'quintuple' 'sextuple' 'septuple' 'octuple' 'nonuple' 'decuple'};\r\n qtystr=qtycell{x};\r\nend","test_suite":"%%\r\ntic\r\nzstr='1';\r\nzv=[1 ];\r\nvexp='one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='22';\r\nzv=[2 ];\r\nvexp='double two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='333';\r\nzv=[3 ];\r\nvexp='triple three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4444';\r\nzv=[4 ];\r\nvexp='quadruple four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='55555';\r\nzv=[5 ];\r\nvexp='quintuple five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='666666';\r\nzv=[6 ];\r\nvexp='sextuple six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7777777';\r\nzv=[7 ];\r\nvexp='septuple seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='88888888';\r\nzv=[8 ];\r\nvexp='octuple eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='999999999';\r\nzv=[9 ];\r\nvexp='nonuple nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0000000000';\r\nzv=[10 ];\r\nvexp='decuple zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1111111111';\r\nzv=[1 1 1 1 1 1 1 1 1 1 ];\r\nvexp='one one one one one one one one one one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1111111111';\r\nzv=[1 2 3 4 ];\r\nvexp='one double one triple one quadruple one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='6701604014';\r\nzv=[1 4 5 ];\r\nvexp='six seven zero one six zero four zero one four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4096453178';\r\nzv=[8 2 ];\r\nvexp='four zero nine six four five three one seven eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5418148180';\r\nzv=[5 3 2 ];\r\nvexp='five four one eight one four eight one eight zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='2319652041';\r\nzv=[8 2 ];\r\nvexp='two three one nine six five two zero four one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9645684646';\r\nzv=[6 2 1 1 ];\r\nvexp='nine six four five six eight four six four six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4508456969';\r\nzv=[5 3 2 ];\r\nvexp='four five zero eight four five six nine six nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1839791609';\r\nzv=[5 1 3 1 ];\r\nvexp='one eight three nine seven nine one six zero nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9398750802';\r\nzv=[1 1 1 4 2 1 ];\r\nvexp='nine three nine eight seven five zero eight zero two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5263950835';\r\nzv=[4 5 1 ];\r\nvexp='five two six three nine five zero eight three five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1456187089';\r\nzv=[3 6 1 ];\r\nvexp='one four five six one eight seven zero eight nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='64360690';\r\nzv=[8 ];\r\nvexp='six four three six zero six nine zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7367';\r\nzv=[2 1 1 ];\r\nvexp='seven three six seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='2441739';\r\nzv=[5 2 ];\r\nvexp='two double four one seven three nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7532179';\r\nzv=[1 1 2 2 1 ];\r\nvexp='seven five three two one seven nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0850664';\r\nzv=[3 4 ];\r\nvexp='zero eight five zero double six four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='8013334';\r\nzv=[5 2 ];\r\nvexp='eight zero one double three three four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0184088';\r\nzv=[2 1 4 ];\r\nvexp='zero one eight four zero double eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='706181428';\r\nzv=[4 4 1 ];\r\nvexp='seven zero six one eight one four two eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='98530';\r\nzv=[5 ];\r\nvexp='nine eight five three zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='29664';\r\nzv=[5 ];\r\nvexp='two nine double six four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='49502';\r\nzv=[2 3 ];\r\nvexp='four nine five zero two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='15';\r\nzv=[2 ];\r\nvexp='one five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='562640038';\r\nzv=[4 4 1 ];\r\nvexp='five six two six four double zero three eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1148979';\r\nzv=[6 1 ];\r\nvexp='double one four eight nine seven nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='79982';\r\nzv=[3 1 1 ];\r\nvexp='seven double nine eight two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='769';\r\nzv=[3 ];\r\nvexp='seven six nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1742234';\r\nzv=[6 1 ];\r\nvexp='one seven four double two three four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='81818447';\r\nzv=[5 1 1 1 ];\r\nvexp='eight one eight one eight four four seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='5';\r\nzv=[1 ];\r\nvexp='five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='86';\r\nzv=[2 ];\r\nvexp='eight six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0573913609';\r\nzv=[6 1 2 1 ];\r\nvexp='zero five seven three nine one three six zero nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='497772738';\r\nzv=[1 3 2 3 ];\r\nvexp='four nine double seven seven two seven three eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='2252931';\r\nzv=[1 5 1 ];\r\nvexp='two two five two nine three one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='19664';\r\nzv=[3 2 ];\r\nvexp='one nine six six four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='566175';\r\nzv=[5 1 ];\r\nvexp='five double six one seven five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='92433';\r\nzv=[4 1 ];\r\nvexp='nine two four three three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='912039567';\r\nzv=[1 6 2 ];\r\nvexp='nine one two zero three nine five six seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4820841';\r\nzv=[5 1 1 ];\r\nvexp='four eight two zero eight four one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='71';\r\nzv=[1 1 ];\r\nvexp='seven one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4690';\r\nzv=[1 1 2 ];\r\nvexp='four six nine zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='106624';\r\nzv=[4 2 ];\r\nvexp='one zero double six two four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7900005';\r\nzv=[6 1 ];\r\nvexp='seven nine quadruple zero five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='407';\r\nzv=[2 1 ];\r\nvexp='four zero seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7738672895';\r\nzv=[8 1 1 ];\r\nvexp='double seven three eight six seven two eight nine five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='027326244';\r\nzv=[2 2 4 1 ];\r\nvexp='zero two seven three two six two four four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='115855';\r\nzv=[2 1 2 1 ];\r\nvexp='double one five eight five five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='6553794';\r\nzv=[5 1 1 ];\r\nvexp='six double five three seven nine four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='426185417';\r\nzv=[8 1 ];\r\nvexp='four two six one eight five four one seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='31';\r\nzv=[1 1 ];\r\nvexp='three one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='68';\r\nzv=[1 1 ];\r\nvexp='six eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='05658716';\r\nzv=[4 4 ];\r\nvexp='zero five six five eight seven one six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='87';\r\nzv=[1 1 ];\r\nvexp='eight seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='99329';\r\nzv=[3 2 ];\r\nvexp='double nine three two nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='21';\r\nzv=[1 1 ];\r\nvexp='two one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='82';\r\nzv=[1 1 ];\r\nvexp='eight two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='3273256549';\r\nzv=[8 1 1 ];\r\nvexp='three two seven three two five six five four nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='4';\r\nzv=[1 ];\r\nvexp='four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0';\r\nzv=[1 ];\r\nvexp='zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='780409';\r\nzv=[4 1 1 ];\r\nvexp='seven eight zero four zero nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='252966140';\r\nzv=[4 3 2 ];\r\nvexp='two five two nine double six one four zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='3416708243';\r\nzv=[10 ];\r\nvexp='three four one six seven zero eight two four three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='715';\r\nzv=[2 1 ];\r\nvexp='seven one five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='714860127';\r\nzv=[7 2 ];\r\nvexp='seven one four eight six zero one two seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='148725';\r\nzv=[4 2 ];\r\nvexp='one four eight seven two five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='130';\r\nzv=[2 1 ];\r\nvexp='one three zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='59696645';\r\nzv=[1 1 1 2 3 ];\r\nvexp='five nine six nine six six four five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='221065';\r\nzv=[2 2 2 ];\r\nvexp='double two one zero six five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='57715162';\r\nzv=[2 3 2 1 ];\r\nvexp='five seven seven one five one six two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='110';\r\nzv=[2 1 ];\r\nvexp='double one zero';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7537367';\r\nzv=[1 4 2 ];\r\nvexp='seven five three seven three six seven';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='9526681205';\r\nzv=[6 3 1 ];\r\nvexp='nine five two double six eight one two zero five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='0818593729';\r\nzv=[1 3 2 4 ];\r\nvexp='zero eight one eight five nine three seven two nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='729800081';\r\nzv=[9 ];\r\nvexp='seven two nine eight triple zero eight one';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='2124';\r\nzv=[1 1 1 1 ];\r\nvexp='two one two four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='7045';\r\nzv=[3 1 ];\r\nvexp='seven zero four five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='6317406';\r\nzv=[7 ];\r\nvexp='six three one seven four zero six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='922906835';\r\nzv=[8 1 ];\r\nvexp='nine double two nine zero six eight three five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='55';\r\nzv=[2 ];\r\nvexp='double five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='70985826';\r\nzv=[3 2 1 2 ];\r\nvexp='seven zero nine eight five eight two six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='1619499314';\r\nzv=[8 1 1 ];\r\nvexp='one six one nine four double nine three one four';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='89375';\r\nzv=[1 1 3 ];\r\nvexp='eight nine three seven five';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='655162';\r\nzv=[1 5 ];\r\nvexp='six double five one six two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='180902';\r\nzv=[3 3 ];\r\nvexp='one eight zero nine zero two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='39106';\r\nzv=[5 ];\r\nvexp='three nine one zero six';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='82361352';\r\nzv=[6 2 ];\r\nvexp='eight two three six one three five two';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='39';\r\nzv=[1 1 ];\r\nvexp='three nine';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='63';\r\nzv=[2 ];\r\nvexp='six three';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\n%%\r\nzstr='16748';\r\nzv=[5 ];\r\nvexp='one six seven four eight';\r\nvstr=Phone_CH(zstr,zv);\r\nassert(strcmp(vstr,vexp))\r\ntoc\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":1,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":13,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-09-29T21:29:44.000Z","updated_at":"2013-09-29T21:55:08.000Z","published_at":"2013-09-29T21:45:58.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/2924486/dashboard\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 China Read Phone Number\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Small Case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Goal is to output a string for the reading of a segmented phone number. When numbers are replicated within a segment the number is preceded by its multiplier. If there are more than 10 repeats in a segment then the number is output for the number of occurrences. Count multipliers are double, triple, quadruple, quintuple, sextuple, septuple, octuple, nonuple, and decuple for 2 thru 10, respectively.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [Number, Segments] where Number is a string and segments is a Vector that sums to the length of Number\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Text, a string of the reading based upon segments\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[[Number,Segments]  [Text]\\n  ['15012233444', [3 4 4]] ['one five zero one double two three three triple four']\\n  ['15012233444', [3 3 5]] ['one five zero one double two double three triple four']]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eContest Performance:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Best Delta Time of 11 minutes with 1885 of 3058 able to process the small data set.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":2324,"title":"GJam 2014 Rd 1c: Train Cars","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/3004486/dashboard#s=p1 GJam 2014 Rd 1c: Reordering Train Cars\u003e.\r\n\r\nDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous. \r\n\r\n*Input:* s, string of N space separated string segments of letters [a..z]. 1\u003c=N\u003c=10. Total letters \u003c=100.\r\n\r\n*Output:* val, number of possible sequences\r\n\r\n*Example:*  Small Case\r\n\r\n  ab bbbc cd Val=1 as only abbbbccd can be created\r\n  aa aa bc c Val=4 aa gives 2 positions, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\r\n  abc bcd    Val=0 as c is internal and thus can not connect to c of abc\r\n\r\n*Theory:* (Spoilers)\r\n\r\nA methodical approach implements the following checks: No internal equals any Start/End. Note aaa has no internal. Verify each string has no non-contiguous letters. Verify no two strings have same start or end except where start==end as in bbbb. Val is N! if there are N cc strings. Each string segment is considered a unique piece when counting. Reduce the strings of type aa until there is only one and increase Val by N!. With remaining strings merge to S strings. Val is then scaled by S!. Key merging issue is that ab ba may look mergeable to aa but in actuality it creates abba - invalid and baab -invalid thus Val=0. Creation of full length string and then a final validity check resolves this issue.\r\n\r\nAdditional GJam solutions can be found at \u003chttp://go-hero.net/jam Example GJam Matlab solutions\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Matlab solution. No Valid Matlab solutions were submitted during the contest.","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/3004486/dashboard#s=p1\"\u003eGJam 2014 Rd 1c: Reordering Train Cars\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e s, string of N space separated string segments of letters [a..z]. 1\u0026lt;=N\u0026lt;=10. Total letters \u0026lt;=100.\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e val, number of possible sequences\u003c/p\u003e\u003cp\u003e\u003cb\u003eExample:\u003c/b\u003e  Small Case\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eab bbbc cd Val=1 as only abbbbccd can be created\r\naa aa bc c Val=4 aa gives 2 positions, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\r\nabc bcd    Val=0 as c is internal and thus can not connect to c of abc\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eTheory:\u003c/b\u003e (Spoilers)\u003c/p\u003e\u003cp\u003eA methodical approach implements the following checks: No internal equals any Start/End. Note aaa has no internal. Verify each string has no non-contiguous letters. Verify no two strings have same start or end except where start==end as in bbbb. Val is N! if there are N cc strings. Each string segment is considered a unique piece when counting. Reduce the strings of type aa until there is only one and increase Val by N!. With remaining strings merge to S strings. Val is then scaled by S!. Key merging issue is that ab ba may look mergeable to aa but in actuality it creates abba - invalid and baab -invalid thus Val=0. Creation of full length string and then a final validity check resolves this issue.\u003c/p\u003e\u003cp\u003eAdditional GJam solutions can be found at \u003ca href = \"http://go-hero.net/jam\"\u003eExample GJam Matlab solutions\u003c/a\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Matlab solution. No Valid Matlab solutions were submitted during the contest.\u003c/p\u003e","function_template":"function val=train(s)\r\n% s is a string of strings separated by a space\r\n val=0;\r\n vstr=regexp(s,' ','split');\r\nend","test_suite":"%%\r\ns='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj qqqqqqqqqqqqqnnnnnnnnnnnnnnnnnnnnnnnnnlllllllllllllllhhhhhhhhhhhhhhhhhh ssssvxxxxbbb uuuuuuuuuuuuuuuuuutttttttttttttttttttttttttffffffffffffffffffffffffffffff uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu gggwwwwwwwrrrrrraaaaoooooooppppppyyyyyyyeeeeeeeccccccccccdddddddmmmmmmmzzzzzzkkkk uuuuuuuuuuuuuuuuuuuuuuuuuuuuu';\r\nVexp=1440;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ffvvuaaaaddbbbkzzz yynnneerrrxxxx iiiiiwqssssyy mmmmmmmmmggggggggg llltttpjjhhoo';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='sssssssssssssssssss wwuuunnnmmgggggpzz kkkhhhdddjjqfxxaaye ttttttt oooooooooooooooooooo';\r\nVexp=120;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ssssssssssssssssssss zzkkkkkeuuiii gyyynnffpooxhhhjtt lllllllcccc dddddddwwwwwmmmaaa cccbbbrrrrrrrrrr';\r\nVexp=120;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='uueeennnbbdjjxx oooooooogg sssssaaaaaww iiiiiiiiiiiii yyssss iiiirrrryyyyy ggghhhfiii kkkqqqqzzzzzzzmmmm pppppppppccccc';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='aaaaabbbbcccdddddeeefffffffggggghhiiijjjkkkkklllllmmmmnnnoooopppqqqqrrrsssstttttttuuuuuvvvwwwxyyzzza';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwww sssssssssssssssssssssssssssssssssssssssssssss hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh llllpppppppppeeeeeeejjjjjjjmmmmoooggkkkkdddddbbbxxxxxfffffffvvvvtttaazzzzzzuuuuuuuuucc wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii wwwwwwwwwwwwwwwwwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnniiiiiiiiiiiiiii';\r\nVexp=1440;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='cd bc ab';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ggggggggggggggg hhhhwzziiiiyyyyaaaa gggggggggg bbbbbbbbbbbbbb spjttfllllnncqr kkkkkdddddeeeeevvvvv ggggggg mmmmmmmmmmmmm gggggggggggg';\r\nVexp=17280;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='iilhzzattttdddjjkk wwwwwwwww uuuuuuiiiiiiiiii fggbn xxxxxxxxxxmmmmm';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='tttvvsqqrrrriicccc aaaaaaaaaaaaaaaaaa ggggggggggxxxxxxxxx hheefyyydd zzzzzzzznnnnllllmmmm wwuuuk jjjjj ddddddppppppppp mmmmmmmooooooooo pppppbbbbbbbjjjjjjjj';\r\nVexp=720;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='nnrrsssplye iggwwwwnnnn';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='mmmmmmmmmmmmmmmmmmmmmddddddddddddddddd mmmmmmmmmmmmmmmmmmmmm ddddddddddddddjjjjjjjjjjjjjjrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttt ttttzzzzzzzzvvvvvvvvhhhhhhhhccccllllllllyyyyyyaaaaeeeeeeeeiiiiiiiiii iiiiiiiiwwwwwwwooooooooppppkkkkk';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ttttttttttttttttttttllllllllllllllllllllllllllllccccccccccccccccccccccccccccooooooooooooooooooooooo iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiisssssssssssssssssssssssssssssss bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb gggggxxxxxxrrrrnnnnnnnnmmmmkkkkuuuuuuuuyyyyyhhheeeezzzzffffffffjjjvvvvv bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb qqqqqqqqqqqqqqqqqqqqqqqqqqqqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ppppppppppppppppppppppppwwwwwwwwwwwwwwwwwwwwwwwddddddddddddddddddddddd';\r\nVexp=17280;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ggggpttt iiiiiiiiii iiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiii fffffffffkkkkkkkkkaa vwwnjssbbbhxxxqqr lllllccccmmuuuuu iiiiiiiiiiiiiiii iiiii';\r\nVexp=14400;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='kavdczugmoesxvalrdmkcpowwxcnhumcfkzakzbdftweqhxmcfrkziqbyoeziuvitserfjiggoubonggswxlkpkoundgmayxiapv';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='abc';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii mmmmmmmmmmmmmmvvvvvvvvvvvvvvvvrrrrrrrrrrrruuuuuuuuuuuuuuussssssssssssssssssnnnnnnnnn ffffkwweeebbbbccctttppjjjggggggaaaayyddddddxxxxxx hhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhh iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhh';\r\nVexp=12;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='cclevhhpn ywuuccc';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='jjjjjjjjjjhhhhhllllllltttttmmmmmmmmmkkkkkkoooyyyyyyyyyyyycccccnnnnzzzzzzssssssbbbbbbbbbbgggggggg uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeee rrrrrrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaaaaaaaaaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq eeeeeeeeeeeeddddddddddddqqqqqqqqqqqqqqqq uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='yyxxxmmmmhhhhhuuuujjlllllliiiiiieeeccccggbzzzzaaafff wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww vvvvsssssskkkknn rrrrrrrrrrrrrrrrrrrrrqqqqqqqqqqqqqqqqqqqqpppppppppppppppppp ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo tttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd';\r\nVexp=10080;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr vvvvvjjjjggggggmmmmmlllllppppppppfffffiiiiiiiidddddddeeeezsssssbbbbbbuuuuu qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='xxxvvvvaaaaylsqqkg ddcccpttmm nnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnn jjjjjuuuuhhhhhhhh ziiiddddd';\r\nVexp=48;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='g i uvbm iog k rdi';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccaallttwniiiiiixxhh rrrrfffffbbeeeuuuuuuuggggggyycccc sssssssssssssssvvvvvvvvvvvvvvrrrrrrrrrrrrrrrrrrr';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrkkkkknnnnnnllsssssssssssssscccccccppppppddddddddmmmmmmwwwwwwqqqqqqiiitttttttjjjjjjjjjjj uuuuuuuuurrrrrrrr';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vzaaappssooookkkkyyyyffbbbwwwiiiiiiiirrrllqqqqeexxddnncg mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccccccccccccccccccccccccccccccccccccccccccccccczzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz wwwwwwwwwwffffffffffffffffppppppppppppppppppccccccccccc';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzzzzttttttttttthhhhhhhxxxxxxbbbbbbbwwwwwwwyyypppooooorrrnnnnnnuuuggaammmmmkkkkkccccvvvvvllllllll iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss';\r\nVexp=40320;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeee hhhhhhhh xxxxxxxxxxxxxxxxxxxx iiiaanwwwrrbbbb hhhhhhhuuuuuuuuuuu dddddddtttttttttiiii gggggggggzzzzzzz qqqqccfvvvoyyykjjmm bblllllppppp';\r\nVexp=720;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ttttttttttttttttttttttttttttttttttttcccccccccccccccccccccccccccccccccccccccc ttttttttttttttttttttttttttttttttttttttttttttttt ccccccccccccccccccccccccccccccc pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp ppppppppppppppppppppp ccccccccccccccccccccccccccccccccccccccccccc pppppppppppppppppppppppppppppppppppppppppppppppppppp pppppppppppppppppppppppppppppppppppppppttttttttttttttttttttttttttttttttttt pppppppppppppppppppppppppppppppppppppp';\r\nVexp=48;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='abc bcd';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeaaaaaaaaaaaadddddddddddddddd zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz wwwwwwvvvvvqqqqqqqqyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyylllllllllllllllluuuuuuuuuuuuuuuuuuuuuuuuuzzzzzzzzzzzzzzzzzzzzzzzzzzzz ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff eeeeeeeeeeeeeeeeeeeee rrrrrrrrrrrrrrrrkkkkkkkkkkkkkkkkkkkkkkkk dnnnnnnnnnpppppxxxxxxffffffff';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='mmmmmmmffffffffffffkkkkkkkkkkkkkkkkkkkdddddddddddddd oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooommmmmmmmmmmmmmmmmmmmmmm';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeennnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';\r\nVexp=720;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ggggggggqqqffffffmmmiiiiiiiuuuuuuueeeeeeyyyyyyddddddddkkkkkkvvvvvvvrrrrppllllllllbbbbbwwwwwwwwjjjjjj xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhzzzzzzzzzzzzzzzzzzzzzzzzzz aaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssstttttttttttttttttttttttnnnnnnnnnnnnnnnnnnnnnn';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbuuuuussfffffvvvkkhhheeeyyyyyjjqqqqqnnn ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd llllllllllllllllllllllllllllllllllllllllwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ggggggmmmmmmmmmmmmiiiiiiiiiaaaaaxxxxxxxxzzzzzzzzzzzooooooooo';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbrrrrrrrrrrrrrrrrrrvvvvvvvvvvvvvvvvvvvvssssssssssssssssssssswwwwwwwwwwwwwwlllllllll uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu qqq yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk cccccccccoooooppppppppppppppjjjjjjjjjjjqqqqqq kkehhhhxxxftiiib qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqddddddddddddddddddddddddddddnnnnnnnnnnnnnnnnnnnnnnnnnnnnn uuuuuuuuuuuuuuuuuuuuuuuuuuuuuccccccccccccccccccccccccccccc nnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmmmmmmggggggggggggggggyyyyyyyyyyyyyyyyyyyyyyyyyy';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjggggggggggggggggggggggggggggggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa hhhhhhhhhhhhhhh zzzzzzzzzzzzzzzzzzzzvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuupppppppppppppooooooooooooooooooooooo hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhh iiiiiiiiiiiiiiiiiiiiiiiiiiiiinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnneeeeeeeeeeeeeeeeeeeeeeeeeeeeeee hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh wwwwccccffffrrqqqqqqbbttttttdddddddxxxllllllllllyyyyyyyymmmmmmkkkkkksssssss';\r\nVexp=86400;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='uuuuuuuyyyyyddddddddqqqqqttttttbbbiiiiiiiaaahhh ooooooooogggggguuuuuuuuuu';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ggggggoooooeeeyjjqqqqqqq mmmmmttttddddddrrraaaaaaaaallllllllzzzzzzzzzzzznnnnnnnnnnnnnnwwwwwwwggggg';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx eeeeeaaaaaaaaaawwwwwwwwwwwwzzzzzzzzzzzzzsssssssssssssssqqqqqqqqyyyyyyyyyyyyyyyvvvvvvvvvvvvvvffff dddddddddddddddddddddddddddddddddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh jjjjjjjjjjjllllllllllllllllllloooooooooooooooooooooooooocccccccccccccccccccrrrrrrrrrrrrrrrrrrrr ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg';\r\nVexp=120;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='aa aa bc';\r\nVexp=4;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='kkkkkkrrynnn vvvvvvvvvvvvvvvvvvvv jhhppibllllddddaooff nqqqwwwwwsss xmmmmmmmtttucc zzzzzzzzzzzzzzzzzzzz eeeeeeeeeeeee';\r\nVexp=720;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='fffffffffffffffffffffffffffffffffffffffffffffffffffffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ccccccccccccccccccccccccccccccc ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyygggggggggggggggggggggggggggggggggggg sssssssshhhhhhhhhhhhhhhhzzzzzzzzzzzzzooo nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnssssssssssssssssssssssssssssssssssssssssssssssss sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss jjjjjxxxxrrriiitttttttwwwwpppppkddddddddqqqqaaaaallllllvvbbuuuuummmm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn';\r\nVexp=120;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuukkkkkkkkkkkkkkkkkkk xxxxxxxxxxxxxvvvvvvvvvvvvvveeeeeeeeeeeeeeeeeegggggggggggg mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ppppppppwwwwwwwiiiiiiiiiqqqqqsssaaaaaaaaalllllllllttttnnnnnnnddddddddhhhhhhhjjjjjjjrrrrroooooooo kkkkkkkkkkkkkkkkkkkkkkk zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzyyyyy cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk';\r\nVexp=240;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrrbbbbbbbbb sslll rrrrsss mmmmmmddddd lllllllooo ooooooommmm';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeee xxmmmmm rrrrrrrrrrrrrr iiiii hhgdddfccbbqqqnniii ppppppppppppppp aayyyy oooooooooooooooooooo wwvsssszzzkkttllljjj uuuuuuuuuuuuuuuu';\r\nVexp=362880;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjj';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='xxxxxxxx xxxxxxx iiavvvvppjjnnnzzzr gkkkuuwwsscccmmmmeed hhhqqqqqqqqqoooooo llllllllxxxxxxx bbyyttttttffffff';\r\nVexp=240;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='kkkkddddmmccssbb ppppppppppppp rryyyyyyqiiezzuhhx wwwwwwwwww ppppppppp aaaaaaooooooooo jjjjjjjjjjjjjjjjjjj ffffffffffffffffffff ggggggggvvvvvvtttttt lllllllnnnnnnnnnnnnn';\r\nVexp=725760;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='aaaaaaaaaaaaaaaaaaavvvvvvvvvvvvvvvvvvvvv vvvvvvvvvvvvqqqqqqqqqqqqqqqkkkkkkkkkmmmmmmmmmm mmmppppppppppppppxxxxxxxxxxxxxxxxxxxxcccccccccyyyyyyyyyyyyyyeeeeeeeeeeeeehhhhhhhhh';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzzzzzccccccccccchhhhhhhhhhffffffffffdddddddddaaaaaaaaavvvvvvvvvvvvvv rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrpppppppppppppmmmmmkkkkkkkkkkooooooooonnnnnnnntttttteeeeeellllljjj';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzzzzzzzzzzzzz nnnffooqqqsdeeegrrmm hhhhhhhhhcccccccccc wwwwwwwwwwuuuuuuuuuu jlllkkkx cccccaaaaapppijjjjj bbbbhhhhhhhhhhhhhh yyyyyyyvvvvvvvvvvvv';\r\nVexp=120;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccccccccccccccc bbbbbbbbbwwwwwwww lllllllllllll peezzzuuiisoodtttfff mmmmmmmmmmmmmmmmm qqqyyyyyyyyyrr';\r\nVexp=720;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='tqqxvveggggccdda oooott';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='qqqqwwooooommhhhhhhhhlllllllsssssddddnnnniiiiiexxxxxxxxxttttffyyyyyyyybbbbbccggggggkkkkk qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='cccccccccccccccfffffffffffffffffffffggggggggggggmmmmmmmmmmmmmmmmmmoooooooooooqqqqqqqqqqqqq uuuuuuuuuuuuuuuuuuuuuuubbbbbbbbbbbbbjjjjjjjjjjjjjdddddddddddddddddd qqqqqqqqqqqqnnnnnnnnnnnnnnnnnnnnnkkkkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaa';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccccccccgggggggggggg wwwwww oooooooooo zzzzzzzzzzzzzzz rrttttttfffmm hhhhhhhhhbbbbvvvvvv xxxlnnpssddddijaoo yyyyyyyyyyyyyyyyy';\r\nVexp=5040;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='p';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='qqqgguuuuctmmmmddjor rrrrrrrrrrrrrrrrrr';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ab ab';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqfffffffffffffffffffffffffffffffffffffffffff rrrrrrllllllllllyyyyyy oooooooooooovvvvvvvvvvvvvvvvvvviiiiiiiwwwwwwwwwwwwwwcccccccccccccc mmmmmmmmmmmmmmmzzzzzkkkkkknnnnnnnnnbbbbbbbbaaaaaaaaaa aaaaaappppppgggggggghhhhhhhhhhhqqqqqqqqqqqqq ttttttttttttttttttjjjjjjjjjjjjjjjjjjjjuuuuuuuuuuuuuuuuuuuuuussssssssssssssssss fffffffeeeeeexxxxxttt yyyyyyyyyyyyyyyyyyyyyyydddddddddddddddmmmmmmmmmmmmmmmmmmmmmm';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='uuuucccccccccccxxxxxxxxxxxxxx nnnnnnnnffffflllllllliiiiiiihhhhhhzzzzzzzzzzzzeeeeeeeeeeqqqqqqq kkkkkkkkkkkkkkkggggggggggggggggggggggaaaaaaaaaaaaaaaaaaaaauuuuuuuuuuuuuuuuuuuuuuuuuuu';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn hhhhkkkkkkkkkkkkkaaaaaaaoooooommeeeeeevvvvvvvvzzzzxxxxxxxxrrrrrrr lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll ccccccccyyyyyuuuuuuiiqqqqqqqqqqddddddjjjjjtttttttbbbbbffffssssswwwwwwwwwgggppppppp';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='mmmmmmiiiii cccccccccccccccccccc hhhhhhhhhhhhhhhhh aooryzzkvvvblffff cccccccpppppqqqqq';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='cccccccccc ccjjill';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='dddrrnnnnnj pppppvvvvmmmmmmoo ttttttttttttttt jjjjjjjjiiiiiiiii uullwaaaagykxxxxbe iiiiiiiiiiizzzzzzz ffffffffffssssssss';\r\nVexp=120;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='abc a a';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='qqeebbccggy uuuuufff snittojvwwwpx ddddaaaaaaaammmmmmm rrrrrrrrrrrr fffllllllhhzzzddddd';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn gggggooojjjuuuummmmrrrrrttppppwwwwwaaaaaahhhhhhfffffkkkbbbbccccceeeezzzvvv nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn';\r\nVexp=80640;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeezzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz nnnnnnnnnnnnnnnsssssssssssssiiiiiiiiiuuuuuuuuuuuuuuuuu lllllllllllllffffffffffvvvvvvvgggggghhhhhhhh bbbbrrrrrqqqqwwwwmmkkkoooooaaayy hhhhhhhhhhhhhxxxxxxxxxxxxxppppppppppppppppppppptttttttttttttttttteeeeeeee';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='gggggggggtttttttqqqqqqxxxxxxxxkkkkkkkkyyyymmmmmmmmmwwwwwwwoooooooooooooeeeeeee pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp ssssssssssssssssssssssssssssssssssssssssssssssssssssssss iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd fffrrraahhhhhlllllccbbbbvvzz jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu';\r\nVexp=362880;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww xxxxxxxxxxxxxxxxxxxxxxxxxxxooooooooooooooooooooooooooooobbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb fffiiaaauuurrrddeevvvhhhhgqqqcccccnnnpyyyyssmmmmtzkkkk jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll';\r\nVexp=120;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='a ca a abc';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='llllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbfffffffffffffffffffffffffffffffffffllllllllllllll vvvvvvvvvvvvvvvjjjjjjjjjjjjjjjjjjjjooooooooodddddddddddddwwwwwwwwwwwwwwnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeepppppppppppppppppppp syyyyyyyytthhhccczzzzrrrrrggqqkkkxxuuuummmmmiii ppppppppppppppppppppppppppppppppbbbbbbbbbb';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='oooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaiiiiiiiiiiiiiiiiiiiiiiiiiii qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq eekrrrwsnnnngggddxczffmmhhhpvvvvttjlllbbb uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='vvvvvvvvvvvvvbbbbbbbbbbbbbbbbbbsssssssssssssfffffffffppppppppppppppplllllllllllllllll ttttzzzzzzzzzyyyyyaaaaooooooiiiiiiiiiinnnjjjjjjjjmmmmdddddddgggcccccxxxxxeeeeeeeeeeqqqqqhhhhrrrrrr';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='xx fffffrrrrrrrrrrrr xssssttwwwf rrr ffffffffff';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='nnnnnnnnnnnnnnnnnnnn ttttttttttt fffffffffffffffffff ffffffffffffffffffff lgggccccbyyy yhaqqqmooo pppkkkeeerrrrrr';\r\nVexp=240;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='aaabbbbccccdddddeeeeeeeeeffgggghiijjjjkkllllllmmmmnnnnnnnopppqqqqqqqqqrrssssttttuuuuvvwwwxxyyyyyzzzz';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ggggjjdddiiiixxxyyy pppppppppppppp ooooooooooooo lllllllllllll ebshuuuufffmaaawvvv ttttttttttttttt zzzzzzzzzzzzzzzzzz cccccccccccccccccccc ppppppppppppppppppp qqqqqqqqqqq';\r\nVexp=725760;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt kkiiiillxxxddwwwwmmmfffqqeeuuhhhnnnnsssssbbbbpppjjya';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='gggggggggggjjjjjjjjjkkkkkktttttttthhhhhyyyyyyyyyyppppppppppaaaafffffffffffffffvvvvvvvrrrrrrrr uuuuuuuuuuuuuqqqqqqqqqbbbbbbbbbbbbdddddddddwwwwwwwwwwwwzzzzzzzxxxxxxxxeeeeeeeeeeeennnnnnnlllllllllll rrrrrrrrrrrrrrrrrrsssssssssssssssmmmmmmmmmmmmmoooooooooooooccccccccccccc';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrzzzzzz wwwwwwwwwwwwwwww uuuuuaaaaaa lllllllllllllllll ggggggggiiiiiiiiii hhhhhhhhhhhhhhhhhhhh qqssjjjmmfttecddd bbbbnnvpyyykkkxxoo';\r\nVexp=40320;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='dddddddddddddddddddddddeeeeeeeeeeeeeeeeeegggggggggjjjjjjjjjjjjjjfffffffffff bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ttttttppppphhaaqqqqqxxxxxiiiiiiuuuuucccccmmmsszzzzznnnnnnn yyyyyyyyyywwwwwwwwwwooooooooooorrrrrrrrrrvvvvvvvvvvvvvvvvvddd kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklllllllllllllllllllllllllllllllllllllllllllllllllllll';\r\nVexp=24;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='jw ki ij';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='yooccccgdexxmmrz wwwwwaaaiiiiii lllllllllllllllllll bbbbbbbbnnnn llllll ppppppppppppppppppp kkkhhhhhttttttjjj';\r\nVexp=1440;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuujjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj xxxxxxxxxxxttttttttttttttttaaaaaaaaahhhhhhhhhhhhhhhzzzzzzzzzzzzzzuuuu';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrpppppppp oooooooooooooooooooo ggqqwwwssmmjjahuun';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='yyyyyyyyyyyyyyyyyyyeeeeeeeeeeeeeeeeeeeedddddddddddddddddddrrrrrrrrrrrrr pppppppppppppppppppppppppppppppppppppppppppppppppppppp rrrrrrrrrrrrrrrrrrrrrrrrrvvvvvvvvvvvvvvvvvvvvvvvvvvvv vvvvvvvvzzzzzzzzzzzzzzzzssssssssssssppppppppp xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxooooooooooooooooooooooooooooooooooooooooooooo ppppppppppppppppppp pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp ppppppppppppppppppppppbbbbbbbbbbbbbbbbbbbbbbiiiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxx';\r\nVexp=6;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrrrrrrrrrrrrrrrrrrrrrrrrcccccccccccccccccccccccc dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb oooooooooooooooooooooooaaaaaaaaaaaaaaaaaa sssgggggggglllllmmmmttttttttttttzzzjjjjjjjpppphhhhhyyyyyiiiiiixxxxxeeekkkkkkkkkfffffffuuuuuuuuwwwwww vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn';\r\nVexp=5040;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='xxxxxmmmmmwwwwwws yyyyyyqqqqqqqq pppppppppppppppppp llllllllllllllllll vvvvvvvvvvvvvvvvv eeeeeeeeeeeeeeeeeee aaaaaaaaaaaaaaa ggggggggggggggggggg shhhodrrruuutt';\r\nVexp=40320;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj nnnnnnnnnggggggggmmmmmmmaaaaaattttttttttttwwwwwwwweeeeeeeeuuuuuuuuqqqqqqfffffffooooooo zzzzzzzzddddddddddvvvvvvv pppppppxxxxxxxxxxxxxrrrrrrrrrriiiiiiiiiiiiiikkkkkkk ppppppppppppppppppppppppppppppppppppppppppppp yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhhhhhhhhbbbbbbbbbbbbbbbbbbbbbbppppppppppppppppppppppppp';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='cccccccccccc qqqqqqqqqqqqqqqqq rrrrrr yyyyyyyyyyyyyyyy mmmmmmmmmmmmmmmmmmmm rrrrrrrrrrrrrr tttpajjibbuuuzfooo dddddddddddddd ssssswwhhheeelnnkkk rrrrrrrrrr';\r\nVexp=241920;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='uummmmslzaaaddprqqqq kkffff jjjjjjjjjjjjjjjj kkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkk';\r\nVexp=12;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzyyyyyy nnoooooalllkkswwwf fch';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='sssssssssssssssssssssssssssssssssssssssssssssssssssssssaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ttttttttttttttttttss';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='fffffffffffffffffffffffffffffffffffff fffffffoooooosssssssssssdddddddddddddddiiiiiiiiiiiiiiiiiiyyyyyyyyyyyyyyyyyyyyyzzzz zzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff';\r\nVexp=4;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\n% Full GJam solution\r\n% function GJam_Rd1c_bv2\r\n% % \r\n% trial = 1;\r\n% if trial == 1\r\n%     fin = 'B-small-practice.in';\r\n%     fout = 'B-small-practice2.out';\r\n% elseif trial == 2\r\n%     fin = 'B-small-attempt0.in';\r\n%     fout = 'B-small-attempt0.out';\r\n% elseif trial == 3\r\n%     fin = 'B-large-attempt0.in';\r\n%     fout = 'B-large-attempt0.out';\r\n% elseif trial == 4\r\n%     fin = 'B-small-practice_tiny.in';\r\n%     fout = 'B-small-practice_tiny1.out';\r\n%  elseif trial == 5\r\n%     fin = 'B-large-practice.in';\r\n%     fout = 'B-large-practice.out';\r\n% end\r\n% \r\n% [data] = read_file(fin); % \r\n% \r\n% fidG = fopen(fout, 'w');\r\n%  \r\n% tic\r\n% for i=1:size(data,2) % Cell array has N cols of cases\r\n% \r\n%  val=train(data{i});\r\n%  %toc\r\n%  fprintf('Case #%i: %i\\n',i,val);\r\n%  fprintf(fidG,'Case #%i: %i\\n',i,val);\r\n%    \r\n%   \r\n% end\r\n% toc\r\n% \r\n% fclose(fidG);\r\n% end\r\n% \r\n% function val=train(s)\r\n%  val=0;\r\n%  \r\n%  vstr=regexp(s,' ','split');\r\n%  \r\n%  N=size(vstr,2);\r\n%  \r\n%  % create vs, ve, vinternal\r\n%  % check if internals\r\n%  vc=zeros(1,255); % common vector for overlaps\r\n%  \r\n%  for i=1:N  % find starts/ends\r\n%   s1=double(vstr{i});\r\n%   vs(i)=s1(1);\r\n%   ve(i)=s1(end);\r\n%   vc(vs(i))=1;\r\n%   vc(ve(i))=1;\r\n%  end\r\n%  \r\n%  for i=1:N\r\n%   v=double(vstr{i});\r\n%  \r\n%   [valid,vint]=check_vint(v);\r\n%   \r\n%   if ~valid,return;end\r\n%   if any(vc(vint)),return;end % internal elsewhere or internal to a start/end\r\n%   vc(vint)=1;\r\n%   \r\n%  end % i\r\n%  \r\n%  m=[vs' ve'];\r\n%  \r\n%  m=sortrows(m,[1 2]); % sort start then ends within start\r\n%  \r\n%  N=size(m,1);\r\n%  % if two pices have same start or end and neither is an aa then Invalid\r\n%  for c=1:2\r\n%   for i=1:N-1\r\n%    if m(i,1)==m(i,2),continue;end\r\n%    schk=m(i,c);\r\n%    for j=i+1:N\r\n%     if m(j,1)==m(j,2),continue;end\r\n%     if schk==m(j,c),return;end\r\n%    end % j\r\n%   end % i\r\n%  end % c\r\n%  \r\n%  % Cases are valid, at least a 1\r\n%  %Q is PI(Ni!) for the i cases of aaa, bbb,...\r\n%  %val=Q*Z! where Z is number of independent groups\r\n%  \r\n%  val=1;\r\n%  \r\n%  Zptr=N;\r\n%  \r\n%  % Aptr  Zptr    remove aa pairs and multiply by perms of aa sets  \r\n%  while Zptr\u003e1\r\n%   Aptr=Zptr;\r\n%   if m(Zptr,1)==m(Zptr,2) % valid aa event\r\n%    qp=1;\r\n%    while m(Aptr-1,1)==m(Aptr-1,2) \u0026\u0026 m(Aptr-1,1)==m(Zptr,1)\r\n%     Aptr=Aptr-1;\r\n%     qp=qp+1;\r\n%     if Aptr==1,break;end % finished off the pairs\r\n%    end\r\n%    val=val*factorial(qp);\r\n%    m(Aptr+1:Zptr,:)=[];\r\n%   end\r\n%   Zptr=Aptr-1;\r\n%  end % Zptr\r\n%  \r\n%  % reduce m of aa if ba or ca\r\n%  N=size(m,1);\r\n%  for i=N:-1:2\r\n%   if m(i,1)==m(i,2)\r\n%    if any(sum(m==m(i,1))\u003e1)\r\n%     m(i,:)=[];\r\n%    end\r\n%   end\r\n%  end\r\n%  \r\n%  N=size(m,1);\r\n%  for i=N:-1:1\r\n%   z{i}=m(i,:);\r\n%  end\r\n%  \r\n%  \r\n%  % Create blocks  ab bc cd  ef fg gh  to abcd efgh  or ad eh  final m rows !\r\n%  mb=m*0;\r\n%  % create strings adn then check if valid, ab ba is a 0 by abba or baab\r\n%  % check_vint\r\n%  while ~isequal(mb,m)\r\n%   mb=m;\r\n%   N=size(m,1);\r\n%   iptr=N;\r\n%   while iptr\u003e1\r\n%    ptr=find(m(1:iptr-1,1)==m(iptr,2),1,'first'); % check end to starts\r\n%    if ~isempty(ptr)\r\n%     m(ptr,1)=m(iptr,1);\r\n%     m(iptr,:)=[];\r\n%     z{ptr}=[z{iptr} z{ptr}]; \r\n%     z(iptr)=[];\r\n%    else % checkstart to ends\r\n%     ptr=find(m(1:iptr-1,2)==m(iptr,1),1,'first'); % check start to ends\r\n%     if ~isempty(ptr) % start to end\r\n%      m(ptr,2)=m(iptr,2);\r\n%      m(iptr,:)=[];\r\n%      z{ptr}=[z{ptr} z{iptr}]; \r\n%      z(iptr)=[];\r\n%     end\r\n%    end\r\n%    iptr=iptr-1;\r\n%   end % while iptr\r\n%   \r\n%  end % mb m\r\n%  \r\n%  \r\n%  for i=1:size(z,2)\r\n%   [valid,vint]=check_vint(z{i});\r\n%   if ~valid\r\n%    val=0;\r\n%    return;\r\n%   end\r\n%  end\r\n%  %m\r\n%  \r\n%  N=size(m,1);\r\n%  \r\n%  val=val*factorial(N);\r\n%  \r\n% end\r\n% \r\n% function [valid,vint]=check_vint(v)\r\n% % create list of internal elements, may be empty set\r\n% % check if v is self consistent\r\n% % abbbc becomes abc;  aabbcc abc\r\n%  valid=0;\r\n%  \r\n%  dv=diff(v);\r\n%  dv(dv==0)=[]; % remove dupes\r\n%  vp=cumsum([v(1) dv]);\r\n%  \r\n%  if length(vp)\u003e2\r\n%   vint=vp(2:end-1);\r\n%  else\r\n%   vint=[];\r\n%  end\r\n%  \r\n%  if length(vp)==length(unique(vp))\r\n%   valid=1;\r\n%  end\r\n%  \r\n% end\r\n% \r\n% \r\n% function [d] = read_file(fn)\r\n% % Output d{} string of strings separated by a space\r\n% d={};\r\n% fid=fopen(fn);\r\n% fgetl(fid); % Total Count ignore\r\n% ptr=0;\r\n% while ~feof(fid)\r\n%  fgetl(fid); % skip\r\n%  ptr=ptr+1;\r\n%  d{ptr}=fgetl(fid);\r\n% end % feof\r\n%  fclose(fid);\r\n% \r\n% end % read_file\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2014-05-15T14:36:42.000Z","updated_at":"2014-06-11T16:12:51.000Z","published_at":"2014-05-15T15:13:56.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/3004486/dashboard#s=p1\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 Rd 1c: Reordering Train Cars\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e s, string of N space separated string segments of letters [a..z]. 1\u0026lt;=N\u0026lt;=10. Total letters \u0026lt;=100.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e val, number of possible sequences\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Small Case\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ab bbbc cd Val=1 as only abbbbccd can be created\\naa aa bc c Val=4 aa gives 2 positions, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\\nabc bcd    Val=0 as c is internal and thus can not connect to c of abc]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eTheory:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (Spoilers)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA methodical approach implements the following checks: No internal equals any Start/End. Note aaa has no internal. Verify each string has no non-contiguous letters. Verify no two strings have same start or end except where start==end as in bbbb. Val is N! if there are N cc strings. Each string segment is considered a unique piece when counting. Reduce the strings of type aa until there is only one and increase Val by N!. With remaining strings merge to S strings. Val is then scaled by S!. Key merging issue is that ab ba may look mergeable to aa but in actuality it creates abba - invalid and baab -invalid thus Val=0. Creation of full length string and then a final validity check resolves this issue.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAdditional GJam solutions can be found at\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://go-hero.net/jam\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eExample GJam Matlab solutions\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Matlab solution. No Valid Matlab solutions were submitted during the contest.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":2325,"title":"GJam 2014 Rd 1c: Reordering Train Cars (Large)","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/3004486/dashboard#s=p1 GJam 2014 Rd 1c: Reordering Train Cars (Large)\u003e.\r\n\r\nDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous. The large case could have 26! or more permutations.\r\n\r\n*Input:* s, string of N space separated string segments of letters [a..z]. 1\u003c=N\u003c=100. Total letters \u003c=100.\r\n\r\n*Output:* val, number of possible sequences, modulo 1,000,000,007\r\n\r\n*Example:*  Small Train Case examples \r\n\r\n  ab bbbc cd Val=1 as only abbbbccd can be created\r\n  aa aa bc c Val=4 aa gives 2 positions, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\r\n  abc bcd  Val=0 as c is internal and thus can not connect to c of abc\r\n\r\n*Theory:* \u003chttp://www.mathworks.com/matlabcentral/cody/problems/2324-gjam-2014-rd-1c-train-cars Train Small Spoilers\u003e\r\n\r\nLarge Case specific info. See \u003chttp://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow Usage of java math\u003e for unlimited precision. Note intValue gives more precision than floatValue. No java factorial exists so a function, non-recursive, is suggested. The small solution can be converted via java BigInteger factorial, mod, multiply, and intValue to solve the large case.\r\n\r\n\r\nAdditional GJam solutions can be found at \u003chttp://go-hero.net/jam Example GJam Matlab solutions\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Small Matlab solution. No Valid Matlab solutions were submitted during the contest.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 408.3px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 204.15px; transform-origin: 407px 204.15px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 94.5333px 7.91667px; transform-origin: 94.5333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis Challenge is derived from\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://code.google.com/codejam/contest/3004486/dashboard#s=p1\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eGJam 2014 Rd 1c: Reordering Train Cars (Large)\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 373.783px 7.91667px; transform-origin: 373.783px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous. The large case could have 26! or more permutations.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 19.4333px 7.91667px; transform-origin: 19.4333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eInput:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 296.4px 7.91667px; transform-origin: 296.4px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e s, string of N space separated string segments of letters [a..z]. 1\u0026lt;=N\u0026lt;=100. Total letters \u0026lt;=100.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 25.2667px 7.91667px; transform-origin: 25.2667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eOutput:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 183.233px 7.91667px; transform-origin: 183.233px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e val, number of possible sequences, modulo 1,000,000,007\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 31.1167px 7.91667px; transform-origin: 31.1167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eExample:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 87.2667px 7.91667px; transform-origin: 87.2667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e Small Train Case examples\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 61.3px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 30.65px; transform-origin: 404px 30.65px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 184.8px 7.91667px; transform-origin: 184.8px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 11.55px 7.91667px; transform-origin: 11.55px 7.91667px; \"\u003eab \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 173.25px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 173.25px 7.91667px; \"\u003ebbbc cd Val=1 as only abbbbccd can be created\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 327.25px 7.91667px; transform-origin: 327.25px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 11.55px 7.91667px; transform-origin: 11.55px 7.91667px; \"\u003eaa \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 130.9px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 130.9px 7.91667px; \"\u003eaa bc c Val=4 aa gives 2 positions\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 184.8px 7.91667px; transform-origin: 184.8px 7.91667px; \"\u003e, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 261.8px 7.91667px; transform-origin: 261.8px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 15.4px 7.91667px; transform-origin: 15.4px 7.91667px; \"\u003eabc \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 11.55px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 11.55px 7.91667px; \"\u003ebcd\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 7.7px 7.91667px; transform-origin: 7.7px 7.91667px; \"\u003e  \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 227.15px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 227.15px 7.91667px; \"\u003eVal=0 as c is internal and thus can not connect to c of abc\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 25.6667px 7.91667px; transform-origin: 25.6667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eTheory:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://www.mathworks.com/matlabcentral/cody/problems/2324-gjam-2014-rd-1c-train-cars\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eTrain Small Spoilers\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 91.0333px 7.91667px; transform-origin: 91.0333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eLarge Case specific info. See\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eUsage of java math\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 199.05px 7.91667px; transform-origin: 199.05px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e for unlimited precision. Note intValue gives more precision than floatValue. No java factorial exists so a function, non-recursive, is suggested. The small solution can be converted via java BigInteger factorial, mod, multiply, and intValue to solve the large case.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 131.083px 7.91667px; transform-origin: 131.083px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAdditional GJam solutions can be found at\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://go-hero.net/jam\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eExample GJam Matlab solutions\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 139.267px 7.91667px; transform-origin: 139.267px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Small Matlab solution. No Valid Matlab solutions were submitted during the contest.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function val=train(s)\r\n% s is a string of strings separated by a space\r\n val=0;\r\n vstr=regexp(s,' ','split');\r\nend","test_suite":"%%\r\ns='wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww gggggggggggggg ddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddd dddddddddddddddddddddd dddddd dddddddddddddd dddddddddddddddddddddddddddddddddddddddddddd xxxxxxxttttttttteeeeeeppppppppppppllllllliiiiiiiifffffffffffffffmmmmmmmmmmmjjjjjjjhhhhhhhhhh uuuuuuuuubbbbbbcccccccvvvvvvvvvvkkkkkkqqqqqaaayyyyyyooooooooooonnnnnnnnnnnnrrrrrzz dddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddd ddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd';\r\nVexp=728878867;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ggi aaaaaaayy iiiaaaaaaa lllllllgggggg iiiiiooooooooo';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ssssssssssssssssssssbbbbbbbbbbbbbbbbbbbbbbbb ccccccccccc jjjjjjjjjjjjjjjjjjddddddddddddggggggggggggggggg qqqqqqqqqqqqffffffffffffffffffuuuuuuuuuuuuuuaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkmmmmmmmmmmmmmmmmjjjjjjjjjjjjjjjjj cccccccccccccccccccccccccccllllllllllllllllllllllllllkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnzzz bbbbbbbbbbbbbbbbrrrrrrrrrrrrrnnnnnnnnnnnn ggggggggggggggggggggggggggggggggggqqqqqqqqqqqqqqqqqqqqqqqqqqq hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh eeeeeeeeeeeeee zzzzzzzzzzzzzzz aaaaaaaaaaaaaaaaaaaaaaaaappppppppppppppppppppssssssssssssssssssssssss';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='kkkkkkkkkkkkkkkkkkkkk llllaaaaaa gggggggggggghhhhhhhhhhh lllllllllllllllllllllllllllllllllllllll bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb dddddddddddddddddddddddddddddddddddddddddyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy aaaaaaaaa vvvvvvvvvv yyyyyyyyy xxxxxxxx bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb gggggggggggggggggggggggggggg ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss iiiiiiiiiiimmmmmmmmmmmmmmmmmmmm vvvvvvvvvvvvvvvvvvvvvvvvv ssssssssssssssssssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuu vvvvvvvvvvvvvv uuuuuuuuuuuuuuuuuuuiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttteeeeeeeeeeeeeeeeeeeeeeeeee oooooooooooooooooooooooooooooooooooooooooooo nnnnnnnjjjjjjjjjjjjjjjddddddddddd oooooooooooooooooooooooooooooooooooooooooogggggggggggggggggggggggggggggggggggggggg nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ooooooooooooooooooooooooooooooooo vvvvvvvvvvvvvvvvvvvvvvvv bwwwwwwwwoooooo sssssssssssssssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ffffffffffffffffffffffffffffffffffffff kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzbbbbbbbbbbbbbbbbbbbbbbbbbbb ooooooooooo kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx pppppppppppppppppppppppppppppppppppppppppppppppppppppppppp kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv qqqqlllll mmmmmmmmmmmtttttttt uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu ccccccccccccccccccckkkkkkk yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaannnnnnnnnnnnnnn ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk hhhhhhhhhhhhhhhhhhhhhhhhhhrrrrrrrrrrrrrrrrrrqqqqqqqqqqqqqqqqqq';\r\nVexp=265420800;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrrrjjjjjjjjnnnnnnnyyyyyyxxxxxlllltttttttt';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwww yy wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh yyyyyyyyyyyyyyyyyyyyyyyyyyyyyiiiiiiiiiiiiiiiiiiiiiiiiii ggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwww xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx vvvvvvvvvvvvvvvvvv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalllllllllllllllllllllllllllllllllllllllllllllllll aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv nnnnnnnnnnnttttttttttttttttkkkkkkkkkkkkkkkjjjjjjjjjjjjjooooooooooooooooooo bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb wwwwwwwwwwwwwwwwwwwwwwwwwww lllllllllllllllllllllllllllllllgggggggggggggggggggggggggggggg wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww uuuuuuuuuuuuuuuuuuuuuuuuuuuuu wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh yyyyyyyyyyyyyyyyy wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww mmmmmmmmmmmmeeeeeeeeeeeesssssssssdddddddddddzzzzzzzzzzzzzzzzrrrrrrrrrrrrrrrrrffffffqqqqqqqqqqqqqqq bbbbbbbbbbbbbbbbbbbbbbpppppppppppppppppppppppppppppppppyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyy';\r\nVexp=161166448;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttt qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq vvvvvvvvvvvvvvvvvvv lllll vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv jjjjjjjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vv tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttt zzzzzrrrraaaaaasssssssseeeeeegggggggiiiooooooooooooobbbbbbbbkkkkkkkkkkyyyyyyyyyyywwwwwwww tttttttttttttttttttttttttttttttttttttttttttttttt vvvvvvvvvvvvvvvmmmmmmmmmmmmmmmmmmmmmmmmmmmmm tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt lllllllllllllllllllllllllllllllllllllllllllllllllllllll nnnnnnnnnnnnnnnnnnnndddddddddddddddddddddddddddxxxxxxxxxxxxxxxx tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttttttttttttttttttttttttttttttttttttttttttt ffffffffffffffffffffffffffffffffffjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhllllllllllllllllllllllllllllllllllllllllll tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt pppppppppppppppppppppppuuuuuuuuuuuuuuuuuuuuuuuuuuucccccccccccccccccc mmmmmmmmmmmmmmmmmmmmmm mmmmfffffffff jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj tttttttttttttttttttt';\r\nVexp=459335393;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ppppppp aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz ttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ddddddddddddddddpppppppppppppppp hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh xxxxxxxxxxxxxxxxxxxxxxxxxxxx hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaaavvvvvvvvvvvvvvvv yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh pppppppppppppppppppppppppppjjjjjjjjjjjjjjjjjjjjjjjjjjjjj hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhh pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh nnnnnnnooooooooouuuuuuuuuuurrrrrrrrrrrwwwwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh wwwwwwwwwwwwwwwwwwwwwwwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh sssssssssssssssssssssss hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ttttttttttttttt zzzzzzzzzzzzzzzzzzzzz ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ccccccccccccccccceeeeeeeeeeeeeeeeeeemmmmmmmmmmmmmmmmm ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh fffffffffffqqqqqqqqqqqq yyy vvvvvvvvvvvvvvvvvvv xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz aaaaaaaaaaaaaaaaaaaaaaaaaaa jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj zzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzbbbbbbbbbb dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd hhhhhhhhhhhhhhhhhhhhhhh ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd kkkkkkkkkkkkkkkkkkkkkkkkkkkkkzzzzzzzzzzzzzzzzzzzzzzzzzzzzz vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss hhhhhhhh iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ss hhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbsssssssssssss hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh dddddddddddddddddddddddddddddddddddddddd hhhhhhhhhhhhh tttttttttttttttttttttttttttttttttttttttttttttttt bbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhh zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz hhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh';\r\nVexp=893810165;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssssss gggggggggggggggggggggggggggggggggggggg wwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ggggggggggggggggggggggggggggggggggggg qqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwww iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii lllllllllllllllllllllllll ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj lllllllllllllllllyyyyyyyyyyyyyyyy qqqqqqqqqq wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww pppp bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh mmm sssssssssssssssssssssssssllllllllllllllllllll mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm iiiiiiiiigggggg mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii gggggggggqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq fffffffvvvvccccccccccccoooooddddddddd uuuuuuuuuuuuuuuuaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrzzzzzzzzzzzzzzztttttttttttteeeeeeeeeeeeeeeeee ppppppppppppppppppppp hhhhhh ssss ppppppppppppppppppppppppppppppppxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx wwwwwwwwwwwwwwwwwmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkpppppppppppppppppppppppppppppppppppppppppppppppppp xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyy xxxxxxxxxxxxxxxxxxxxjjjjjjjjjjjjjjjjjjj lllllllllllllllllllll mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg wwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk';\r\nVexp=588556762;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii oooooooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbb uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu oooooooooooooooooooooooooooooooooooooooooooo llllllllllllllllllllllllllllllllllllll bbbbbbbbb uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx aaaaaaaaaaaaaaaaa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc oooooooooooooooooo cccccccccccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiii oooooooooooooooooooooooooooooooooooooooo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj iiiiiiiiiiiiii jjjjjjjjjjjjjjjjjjjjjjjwwwwwwwwwwwwwwwwwwwwww ooooooooooooooooooooooooooooooooooooooooooooooo bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbboooooooooooooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa oooooooooooooooooooooooooooooooooooooooooooo iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ccccccccccccccccccccccccccccccccccccccccc bbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaa uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ooooooooooooooooooooo uuuu cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx kkkkkkkkkkkkk uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllll aaaaaaiiiiiiiiiiiiii uuuuuuuuuuuuu kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ccccccccccccccccccccccccccccccccccccccccccccccccckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo iiiiiiii eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb jjjjj kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb jjjjjjjjjjjjjjjjjjjj nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn xxxxxx llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll iiiiiiiiiiiiiiiiiiiiiiiiii nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxeeeeeeeeeeeeeeeeeeee wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww llllllllllllllllllllllllllllllllllllllllllllllllllllllll eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa uuuuuuuuuuuuuuuuuuu oooooooooooooooooooooooooooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee oooooooo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ii iiiiiiiiiiiiiiuuuuuuuuuuuuuuuuuu oooooooooooooooooooooooooooooooo xxxxxxxxxxxxxxxxxxxxxx lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwww aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa llllllllllllllllllllllll eeeeeeeeeeeeeeeeeee lllllllllllllllllllllllllllllllllllllllllllllllll ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc';\r\nVexp=125298902;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='hhhhhhhhhvvvvv kkhh ppmmmmmmmmm zzxxx sssccccccc fffffffqq yyyyyyyeeeeee xxxxxxxxi eeeeeeeeaaaaaaaa jjjppppppp ddddf cccccrrrrrrrr';\r\nVexp=720;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr tttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ppppppppppppppppppppppppppppppppppppppppppppyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz nnnnnnnnnnnnnnnnnnnnnnn qqqqqqqqqqqq llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll yyyyyyyyyyyyyyyyyyyyy ttttttttttttttttttttttttttttttttttttttttttttt zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzppppppppppppppppppppppppppppppppppppppppppp ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy ffffffffffff iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ddddddddddddddddddddddddssssssssssssssssssssssssssssssss qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu zzzzzzzzzzzzzzzzzzz rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr cccccccccccccccccccccccccccccccccccccccccccc rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg aaaaaaaaaaaaaaaaaaaaa pppppppppppppppppppppppppppp yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy ccccccccccccccccccccccccc cccccccccccc aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa iiiiiiiiiiiiiiiiiiivvvvvvvvvvvvvvvvvvvvdddddddddddddddddd cccccccccccccccccaaaaaaaaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwooooooooooooooooooooo yyyyy llllllllllllllbbbbbbbbbbbbbbbbbbbbbuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy fffffffffffffffffffffffffffffffffzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr tttttttttttttttttttttttttttttttttttttttttttffffffffffffffffffffffffffffffffffffffff sssssssssssssssssssssssssss xxxxxxxxxxxxxxxxxxxxxx yyyyyqqqqqqq ffffffffff ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxx gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq ooooooooooooooooooooooooooooooooooooo rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr xxxxxxxxxxxxxxxxxxxxxxxxxxxxxeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii qqqqqqqqqqqqqqqqqqqqqqqqnnnnnnnnnnnnnnnnnnnn jjjjjjj ssssssssssssssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy jjjjjjjjjjjjjjjjjjjjjjjjjjjjjcccccccccccccccccccccccccccccccccc tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ggggggggggggggggggggggggggllllllllllllllll aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc qqqqqqqqqqqqqqqqqqqqqqqqq rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ssssssss cccccccccccccccccccccccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj tttttttttttttt iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx jjjjjjjjjjjjjjjjjjjjjj';\r\nVexp=45590719;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh mmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmm mmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll xxxxxxvvvvvvvvvvvvvoooooojjjjjjjjaaaaaaaffffffffppppppppyyyyyykkkkkkkkkqqqqqqqqqqrrrrrr mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm wwwwwwwnnnneeeeeeesssssuuuuuuuuuudddddddddiiiiiiii mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmm mmmmmmmmmmmmmmm ggggggggggggggggggggggggggggggcccccccccccccccccccccccccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt';\r\nVexp=757993753;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg gggggggggggggggggggggggggggggggg iihhhhhhaaaaaaaaallmmmmmeeedddddbbbbbbppssssssoooovvvvvvffffftttttttttqqqqqkkkkkknnnnn uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu rrrrrrrrrrrrrrrrrrrrrrrrrr gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggg gggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggg rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwww';\r\nVexp=16857327;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccccccccccccccccccccccccccccccccccccccc zzzzzzzzzzzzzzzzzzzzzzzzzzzzzrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr llllllllllllllllllllllllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll tttttttttttaaaaaaaaakkkkkk qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq ccccccccccc uuuuuuuuuujjjjjjjssssssssssssss llll llllllllllllllllllllllllll cccccccccc lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc yyyyyyyyypppppppffffffffffxxxxxxxxxxxxxxiiiiiiiiiiiiiii hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh lllllllllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll hhhhhhhhhhhhhhhhhhhhh ccccccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz cccccccccccccccccccccccccccccccccccccccc hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn kkkggggggggeeeeeeeeeeeeeeeeeoooddddddddddwwwwwmmmmmmmmm bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz cccccccccccccccccc llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb';\r\nVexp=539156306;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa sssssssssssssbbbbbbbbbbbbbbbb nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn sssssssssssssssssssssss bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb eeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ssssssssssssssssssssssssssssssssssss nnnnnnnnnnnnn ssssssssssssssssssssssssssssssssssssssssssssss eeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbb sssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn aaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa nnnnnnnnnnnnnnnn sssssss bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa sssssssssssssssssssssssssssssssssssss bbbbbbbbbbbbbbbbbbbbbbbb nnnnnnnnnnnnneeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ssssssssssssssssssssssssssssssssssss nnnn bbbbbbbbbbbbbbbbbbbnnnnnnnnnnnnnnnnn ssssssssssssssssssssssssssssssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnn ssssssssssssss bbbb ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss sssss sssss sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn sssssssssssssssssssssssssssssssss nnnnn aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaa';\r\nVexp=392523621;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc llllllll llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll wwwwwwwwzzzzzzzzzzzzzeeeeeeeeeeuuuuuuuuvvvvvvvvvvvvvvrrrrrrrrrrtttttttttttttt llllllllllllllllllllllllllllllllllllllllllllllllllllllllll ttttttthhhhhmmmmmmmmmqqqqqqqqqqqqqq ccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccc lllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllll llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll bbbbbbbppyyyyyyiiisssssssnnnff ccccccccccccc llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll llllllllllllllllllllllllllll xxxxxjjjjjjddddaaaaaakkkkkkkkk cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllllllllllllllllllllllllllllll llllllllllllll lllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccclllllllllllllllllllllllllllllllllllll ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccc lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccc tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccc';\r\nVexp=981953933;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='wwwwwwwwwwhhhhhhhhhh zzzzzzzzzzzzzzzzzzzzvvvvvvvvvvvvvvvaaaaaaaaaaaaaaaaaaaaaaiiiiiiiiiiiiiiiiiii kkkkkkkkkkkkkkkkkkkkk uuuuuuuuuuuuu jjjjjjjjjjjjjjjjjjjjjjjjjjjjjbbbbbbbbbbbbbbbb kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuuuuuuuuuujjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkk uuuuuuuuuuuuuuuuuu mmmmmmmmmmmmmmmmmmmmmmmpppppppppppppppp kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee jjjjjjjjjjjjjj eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbqqqqqqqqqqqqqqqqqqqq jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk uuuuuuuuuuuuuuuuuu qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq lllllnnnnnnnnnnnnnnnnn nnnnn wwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq wwwwwwwwwwwwwwwwwwww kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk xxxxxxxxxrrrrrrrrrgggggggggggggffffffffftttttttccccccccccccccccoooooooddddyyyyy eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww jjj uu bbbbbbbbbbbbbbbbbbb qqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeelllllllllllllllllllllllllllllllllllllllllllll bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww';\r\nVexp=310957976;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='aabbbbbcccddeeeeeeeefffgggggghhhhiiiiiiiijjkkkkklllmmmmmmmnnnooooppppppqqrrsssttuuuuuuuvvvvwxxyyyyya';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbbbbbbbbbbbb lllllllllllllllllllllllllllllllllllllllllll hhhhhhhhhhhhhhhhhhh kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt aaaa hhhhhhhhhhhhhhhhhh iiiiiiiiiiiiiiiiiiiiiiiiiiyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbb llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll nnnnnnnnnnnnnnnnnnnnnnnnnnn hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu hhhh jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb qqqqqqsssssspppppppppmmmmmmfffffffff vvvvvvvooooooooooowwwwwwwwwwwccccccccrrrrrrrrrrddddddddddddddddddd xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ttttttttttttttttttttttttttttttttttttttttttttttttttttt uuuuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh nnnnnnnn hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhh hhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhh uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh llllaa gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh nnnnnneeeeeeeeettt bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb tttttttttttttttttt zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz hhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb uuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbb nnnnnnnnnnnnnnnnnnnnnnnnnnn tttttttttttttttttttttttttttttttttttt uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzlllllllllllllllllllllllllllllllllllllllllll hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh kkkkkkkkkkkkkkkkkkk bbbbbbbbbbbbbbbbbbbbbbb uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh uuuuuuuuuuuuuuu aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn gggggggggggggggggggggggggggggggggggzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb';\r\nVexp=236753019;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq dddddddlllllllllllllll xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhkkkkkkkkkkkkkkkkkkkkk aaaaaaaaaaaaaaaaaaaaaaaaaaaccccccccccccccccccccc gggggggggggggggggggggggggggggggggggggddddddddddddddddddddddddddddddddddddddd ttttttttttttttttttttttttttttiiiiiiiiiiiiiiiii llllllllllllllllllhhhhhhhhhhhhhhhhhhhhhh rrrrrrrrrrrrrrrrrzzzzzzzzzzzzz kkkkkkkwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnyyyyyyyyyyyyy iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ppppppppppppppppppppppppppppppppppppppppppxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx qqqqqqqqqqqqqqqqqqqqbbbbbbbbbbbbbbbbbbbbbbssssssssssssssssssssssssssssssssss sssssssssssssss oooo ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp mmmmmmmmmmmm ffffffeegggggggg iiiiiiiiiiiivvvvvvvvvvvvv yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvfffffffffffffffffffffffffffffffffffffffffffffff xxxxxxxxxxxxxxxxxxxxxxxxx oooooorr ffffffffffffffffff pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp xxxxxxxxxx ooooooooooooooooooooooo mmmmmmmmmmmmmmmmmmmmmmoooooooooooooooooooooooooooooo';\r\nVexp=48;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeee dduuknnnbbyyysssssqqmmfrrrrrraaaacczzziiiiigggggxxxllllp eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj vvvvvvvvvvvvvvvvvvvvvvhhhhhhhhhhhhhhhhhhhhhhhttttttttttttttttttttttttttt eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww eeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';\r\nVexp=901255609;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ccccccccccccccccccccccc yyynnttooppphhhiiiwwllllggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv cccccccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss kkkkmmmmmmm uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu fffffffffffff ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa sssssssssssssssssssssssssssssssssssssssssssssssssssss kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk sssssssssssss ccccccccccccccccccccccccccccccccccccccccccccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjccccccccccccccccccccccccccccccccccccccccccc xxxxxxxxxxxxxxxddddddddddddddrrrrrrrrrrrrrrrrrrrrrrrqqqqqqqqqeeeeeeeeeeeee kkkkkkkkkkkkkkkkkkkkkkkkkkkkk ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ssssssssssssssssssssssssssssssssssssssssssssssssssssssss mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk zzzzzzzzzzzzzzzzzz kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmzzzzzzzzzzzzzzzzzzzzzzzzzz';\r\nVexp=654434779;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrr rrrrrrrrrrrrrrrrrrrrrrr pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp tttttttttttttttttttttttttttttttt lllllllllllllllllllllllllllllllllllllllllllllllllllllllll ttttttttttttttttttttttttttttttttttttttttttttttttttttt vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv gggggggggggggghhhhhhhhhhhhhhhhhxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj lllllllllllllllllllllllllllllll vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttttttttttttttttttttttttttttttttt rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ttttttttttttt qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttttt ttttttttttttttttttttttttttttttttttttttttttttttttttttttt rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrr jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll ppppppppppppppppppppppppppppp jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww tttttttttttttttttttttttttttttttttttt ooooooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii rrrrr pppppppppppppp iiiiiiiiiiiiiiiiiiiiiii lllllllllllllll tttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr lllllllllllllllllllllllllllll vvw llllllllllllllllllllllllllllllllllll pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr llllllllllllllllllllllllllllllllllllllllllllllllliiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii dddddddddddddddbbbbbbbbbbbbbbbbeeeeeeeeeeeeeeeeeeeyyyyyyyyyyyysssssssssssssssssssss mmmmmmmmmmmmmmmmmmmmmmmaaaaaaaaaaaaaaaaaaa ppppp vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr jjjjjjjjjjjjjjjjjjjjjjjjjjjj rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt nnnnnnnnnnnnnnnnuuuuuuuuuuuuuuuzzzzzzzzzzzzzzzzzzzzzz gggggggggggg tttttttttttttttttttttttttttttttttttttttttttttt rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwpppppp iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww jjjjjjjjjjj wwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww lllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccfffffffffffffffff llllllllllllllllllllllllllllllllllllllll tttttttttttttt pppppppppppppppppppppppppppppppppppppppp wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt jjjjjjjjjjjj ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo tttttttttttttttttttttttttttt zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzgggggggggggggggggggggggggggggggggggggggg rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ttttttttttttttttttttttttttttttttttttttttttttttt llllllllllllllllllllllllllllllllllllllllllllllllll vvvvvvvvvv';\r\nVexp=977338612;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ccccccccccccccccccccccccccccccccccccccccccccccc ffffffffffffffffffffffffffffffffffffffffffffffffffpppppppppppppppppppppppppppppppppppppppppppppp cccccccccccccccccccccccjjjjjjjjjjj ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp ccc pppppppppppppppppppppppppppppppppppsssssssssssssssssssssssssssssssssssssss ppppppppppppppppppppppppppp eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ssssssssssss iiiiiccccccccc jjjjjjffffffffffff ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ppppppppppppppppppppppppppppppppppppppppppppp ssssssssssssssssssssssssssssseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp eeeeeeeeeeeemmmmmmmmm iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii';\r\nVexp=864;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj aaaaa ooooooooooooooooooo mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm nnnn sssssssssssssssssssssssssssssssssssssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn gggggggggggggggggggggggggggggggggggggggggggggggggggggg aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj aaaaaaaaaaaaa jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmm eeeeeeewwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo aaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz nnnnnnnnnnnnnnnnn lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ppppppppppppppppppppppppppppppppppppppppppppppgggggggggggggggggggggggggggggggggggggggggggggggggggggg ttttttttttttttttttttttttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd fffffffffffffffffffffffffffffffffffffff cceee ooooooooooooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ffffffffffffffffffffffffffffffffffffffffffffttttttttttttttttttttttttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp lllllllllllllllllllllllllllllllllllllllllllll fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp ttttttttttttttttttttsssssssssssssssssssssssssssssssssssssssss wwwwwwwwwwwwwwhhhhhhhhhhhhhhhhllllllll aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ggggggggggggggggggggggggggggggggggggggggggggggggg aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ooooooooooooooooooooovvvvvvvvvvvvvvvvvvv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa iiiiiiiiiiiiiiiiiiiiiiippppppppp cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv yyyyyyyyyyyyyyyyyyyyyyyyffffffffffffffffffffffffffffffffffffffffffffff aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa fffffffff mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ggggggcccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm aaaaaaaaaaaaaaaaaaaaaaaaaaa kkkkkkkkkkkkkkkkkkkkkkkrrrrrrrrrrrrrrrrrrrrrrrrrr uuuuuuuuuuuuuiiiiiiiiii nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy mmmmmmmmmmmmmmm aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx iiiiiiiii';\r\nVexp=702191236;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='oooooooooooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbblllllllllllllllllzzzzzzzzzzzvvvvvvvvvvvvvvvvqqqqqqqqqqqkkkkkkkkkkkkkhhhhhhhhhhhhhhh eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee iiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee fffffffffffffffffffffffffffuuuuuuuuuuuuuuuuuuuuuuuu nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn rrrrrrrrrrrrrtttttttttttttmmmmmmmmmmmmccccccccyyyyyyyywwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii pppppppppppppppsssssssssssssssssssjjjjjjjjjjjjjjjjjddddddddddddddddxxxxxxxxxxxxxxxx nnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';\r\nVexp=880614102;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww vvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwww rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwgggggg nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn gggggggggggggg nnnnnnnnnnnnnnnnnnnnnnnnnn vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww zzzzzzzzzzzzzzzdddddddddddddddddddddyyyyyyyyyyyyyy jjjttttxxxxhhfffllllllqqqqqiiiiiimmmmmmmmuueeeeccccsssooookkkkppppppaabbbbbb vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv nnnnnnnnnnnnnnnnnnnnnnnnnn vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww';\r\nVexp=101045724;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\n%s='jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeexxxxxxxxxxxxxxxxxxxxxxxx bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb yyyyyyyyyyyyyyyykkkkkkkkkk mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww oooo ggggggggggggggggyyyyyyyyyyyyyyy iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb iiiiiiii ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc hhhhhhhhhhhhhhggggggg hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh wwwwwaaaaaaa rrrrrrrrrrrrrrrr hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ooojjjjjjj rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ddddddddddddddddddddddddddddddddddddddddd iiiiiiiiiiiiiiiiiiiiiiiiiiiii","published":true,"deleted":false,"likes_count":1,"comments_count":2,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":2,"test_suite_updated_at":"2020-10-01T17:08:50.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2014-05-15T21:15:21.000Z","updated_at":"2020-10-01T17:08:50.000Z","published_at":"2014-05-15T21:59:11.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/3004486/dashboard#s=p1\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 Rd 1c: Reordering Train Cars (Large)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous. The large case could have 26! or more permutations.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e s, string of N space separated string segments of letters [a..z]. 1\u0026lt;=N\u0026lt;=100. Total letters \u0026lt;=100.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e val, number of possible sequences, modulo 1,000,000,007\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Small Train Case examples\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ab bbbc cd Val=1 as only abbbbccd can be created\\naa aa bc c Val=4 aa gives 2 positions, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\\nabc bcd  Val=0 as c is internal and thus can not connect to c of abc]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eTheory:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/2324-gjam-2014-rd-1c-train-cars\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTrain Small Spoilers\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eLarge Case specific info. See\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eUsage of java math\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e for unlimited precision. Note intValue gives more precision than floatValue. No java factorial exists so a function, non-recursive, is suggested. The small solution can be converted via java BigInteger factorial, mod, multiply, and intValue to solve the large case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAdditional GJam solutions can be found at\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://go-hero.net/jam\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eExample GJam Matlab solutions\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Small Matlab solution. No Valid Matlab solutions were submitted during the contest.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":2291,"title":"GJam 2014 Qualifier: Deceitful War (Small)","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/2974486/dashboard#s=p3 GJam 2014 Qualifier Deceitful War\u003e.\r\n\r\nMy condensed summary of the problem statement.\r\n\r\nGiven two players, A and B, they are each given N masses. All masses are unique. Player A plays first on each comparison and states a Mass. Player B then plays a Mass. The player with the higher mass wins a point after they are compared on a scale. These masses then disappear. This repeats for all N masses. There are no constraints on the order of pieces played.\r\n\r\nUnsurprisingly when A truthfully states masses player B consistently wins.\r\n\r\nPlayer A, discouraged, decides to cheat. After the masses are provided player A asks B get A a drink and while B is away A looks at B's masses. Player A now plays pieces but does not necessarily honestly state the mass values. All scale comparisons must be valid based on B's strategy and A's stated mass. Player A now achieves more wins.\r\n\r\nPart one is determine the best possible score for A when playing deceitfully.\r\n\r\nPart two is determine the best possible score if player A did not look and is honest.\r\n\r\n*Examples:*\r\n\r\n  A: 0.5 0.1 0.9  B 0.6 0.4 0.3  Deceitful Wins 2, Optimal Honest 1\r\n  \r\n  A 0.186 0.389 0.907 0.832 0.959 0.557 0.300 0.992 0.899\r\n  B 0.916 0.728 0.271 0.520 0.700 0.521 0.215 0.341 0.458\r\n  Deceitful A Wins 8\r\n  Optimal Honest A Wins 4\r\n\r\n*Input:* A,B vectors of length N (Small has N\u003c=10, Large(future challenge N\u003c=1000)\r\n\r\n*Output:* Deceitful Wins, Optimal Honest Wins\r\n\r\n\r\n\r\n\r\n\r\n*Note:*\r\n\r\nIn the contest period there were 30 Matlab solutions, of which I was not one as I glitched on the easy Deceitful algorithm thinking my Honest algorithm was in error. \u003chttp://www.go-hero.net/jam/14/solutions/0/4/MATLAB GJam Deceitful Solutions\u003e. My post contest full GJam is in the test suite. About 11000 out of 28000 entrants solved this puzzle.","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/2974486/dashboard#s=p3\"\u003eGJam 2014 Qualifier Deceitful War\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eMy condensed summary of the problem statement.\u003c/p\u003e\u003cp\u003eGiven two players, A and B, they are each given N masses. All masses are unique. Player A plays first on each comparison and states a Mass. Player B then plays a Mass. The player with the higher mass wins a point after they are compared on a scale. These masses then disappear. This repeats for all N masses. There are no constraints on the order of pieces played.\u003c/p\u003e\u003cp\u003eUnsurprisingly when A truthfully states masses player B consistently wins.\u003c/p\u003e\u003cp\u003ePlayer A, discouraged, decides to cheat. After the masses are provided player A asks B get A a drink and while B is away A looks at B's masses. Player A now plays pieces but does not necessarily honestly state the mass values. All scale comparisons must be valid based on B's strategy and A's stated mass. Player A now achieves more wins.\u003c/p\u003e\u003cp\u003ePart one is determine the best possible score for A when playing deceitfully.\u003c/p\u003e\u003cp\u003ePart two is determine the best possible score if player A did not look and is honest.\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eA: 0.5 0.1 0.9  B 0.6 0.4 0.3  Deceitful Wins 2, Optimal Honest 1\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003eA 0.186 0.389 0.907 0.832 0.959 0.557 0.300 0.992 0.899\r\nB 0.916 0.728 0.271 0.520 0.700 0.521 0.215 0.341 0.458\r\nDeceitful A Wins 8\r\nOptimal Honest A Wins 4\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e A,B vectors of length N (Small has N\u0026lt;=10, Large(future challenge N\u0026lt;=1000)\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Deceitful Wins, Optimal Honest Wins\u003c/p\u003e\u003cp\u003e\u003cb\u003eNote:\u003c/b\u003e\u003c/p\u003e\u003cp\u003eIn the contest period there were 30 Matlab solutions, of which I was not one as I glitched on the easy Deceitful algorithm thinking my Honest algorithm was in error. \u003ca href = \"http://www.go-hero.net/jam/14/solutions/0/4/MATLAB\"\u003eGJam Deceitful Solutions\u003c/a\u003e. My post contest full GJam is in the test suite. About 11000 out of 28000 entrants solved this puzzle.\u003c/p\u003e","function_template":"function W = War(m)\r\n% W=[Deceitful Wins, Optimal Honest Wins]\r\n  W=[0 0];\r\nend","test_suite":"%%\r\nm=[0.270000 0.550000 0.910000 0.330000 0.520000 0.300000 ;0.850000 0.450000 0.060000 0.240000 0.120000 0.880000 ];\r\nWexp=[5 3];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.164000 0.255000 0.009000 0.445000 0.209000 0.100000 0.391000 0.536000 0.027000 0.118000 ;0.673000 0.782000 0.582000 0.882000 0.591000 0.855000 0.745000 0.955000 0.991000 0.600000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.800000 0.480000 0.760000 0.680000 0.160000 0.640000 0.360000 ;0.200000 0.440000 0.960000 0.280000 0.880000 0.520000 0.120000 ];\r\nWexp=[5 2];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.170000 0.100000 0.120000 0.200000 0.540000 0.150000 ;0.490000 0.070000 0.240000 0.680000 0.610000 0.340000 ];\r\nWexp=[2 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.780000 0.770000 0.900000 0.810000 0.880000 0.840000 0.600000 0.730000 0.930000 0.990000 ;0.270000 0.150000 0.260000 0.510000 0.570000 0.310000 0.170000 0.140000 0.400000 0.040000 ];\r\nWexp=[10 10];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.320000 0.820000 0.350000 0.770000 0.020000 0.550000 0.040000 0.990000 0.610000 0.190000 ;0.730000 0.530000 0.750000 0.800000 0.670000 0.870000 0.330000 0.250000 0.080000 0.680000 ];\r\nWexp=[7 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.510000 0.100000 0.380000 0.050000 0.210000 0.130000 0.440000 0.180000 ;0.560000 0.920000 0.540000 0.900000 0.670000 0.790000 0.820000 0.970000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.420000 ;0.080000 ];\r\nWexp=[1 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.690000 0.310000 0.540000 0.230000 0.710000 0.030000 0.490000 0.600000 0.510000 0.860000 ;0.830000 0.340000 0.370000 0.740000 0.430000 0.200000 0.090000 0.170000 0.910000 0.400000 ];\r\nWexp=[8 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.300000 0.920000 0.710000 0.130000 0.230000 0.620000 0.140000 0.260000 0.360000 0.310000 ;0.440000 0.010000 0.640000 0.350000 0.820000 0.550000 0.780000 0.790000 0.060000 0.570000 ];\r\nWexp=[6 2];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.504000 0.218000 0.479000 0.101000 0.050000 0.445000 0.471000 0.084000 0.034000 0.008000 ;0.992000 0.546000 0.647000 0.849000 0.891000 0.739000 0.765000 0.555000 0.613000 0.748000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.570000 0.470000 0.640000 0.550000 0.060000 0.430000 0.040000 0.280000 0.130000 0.510000 ;0.700000 0.740000 0.770000 0.810000 0.870000 0.790000 0.940000 0.910000 0.850000 0.660000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.200000 0.020000 0.510000 0.120000 0.220000 0.250000 0.100000 0.490000 0.530000 0.350000 ;0.800000 0.960000 0.760000 0.820000 0.710000 0.570000 0.940000 0.690000 0.900000 0.550000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.260000 0.030000 0.360000 0.410000 0.330000 0.430000 0.540000 0.300000 0.280000 0.100000 ;0.770000 0.910000 0.700000 0.550000 0.590000 0.780000 0.650000 0.860000 0.750000 0.990000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.920000 0.370000 0.900000 0.200000 0.150000 0.020000 0.530000 0.860000 0.250000 0.190000 ;0.170000 0.980000 0.140000 0.680000 0.830000 0.470000 0.950000 0.340000 0.880000 0.540000 ];\r\nWexp=[7 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.510000 0.020000 0.490000 0.280000 0.080000 0.830000 0.170000 0.140000 0.850000 ;0.420000 0.650000 0.950000 0.890000 0.030000 0.580000 0.380000 0.060000 0.370000 ];\r\nWexp=[6 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.670000 0.050000 0.590000 0.330000 0.820000 0.030000 0.740000 0.560000 0.950000 0.620000 ;0.210000 0.380000 0.770000 0.080000 0.260000 0.640000 0.460000 0.790000 0.310000 0.410000 ];\r\nWexp=[8 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.840000 0.800000 0.420000 0.580000 0.670000 0.070000 0.360000 ;0.690000 0.870000 0.310000 0.600000 0.760000 0.200000 0.380000 ];\r\nWexp=[6 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.450000 0.380000 0.280000 0.590000 0.620000 0.230000 0.810000 ;0.320000 0.190000 0.680000 0.140000 0.090000 0.940000 0.170000 ];\r\nWexp=[6 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.207000 0.288000 0.180000 0.595000 0.748000 0.459000 0.802000 0.387000 0.027000 0.090000 ;0.450000 0.982000 0.694000 0.613000 0.486000 0.423000 0.685000 0.847000 0.432000 0.604000 ];\r\nWexp=[4 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.750000 0.970000 0.820000 0.840000 0.680000 0.780000 0.730000 0.270000 0.220000 0.150000 ;0.130000 0.920000 0.390000 0.320000 0.230000 0.080000 0.800000 0.330000 0.720000 0.590000 ];\r\nWexp=[10 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.260000 0.140000 0.600000 0.950000 0.160000 0.650000 0.580000 0.910000 0.230000 0.020000 ;0.120000 0.510000 0.530000 0.280000 0.350000 0.070000 0.400000 0.930000 0.490000 0.090000 ];\r\nWexp=[8 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.545000 0.527000 0.500000 0.727000 0.018000 0.400000 0.191000 0.982000 0.409000 0.591000 ;0.945000 0.745000 0.355000 0.673000 0.045000 0.118000 0.682000 0.827000 0.645000 0.482000 ];\r\nWexp=[6 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.930000 0.980000 0.470000 0.810000 0.830000 0.460000 0.510000 0.540000 ;0.490000 0.640000 0.170000 0.290000 0.140000 0.440000 0.590000 0.760000 ];\r\nWexp=[8 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.580000 ;0.330000 ];\r\nWexp=[1 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.640000 0.820000 0.700000 0.480000 0.520000 0.610000 0.060000 0.240000 0.300000 ;0.550000 0.450000 0.090000 0.030000 0.850000 0.670000 0.760000 0.360000 0.790000 ];\r\nWexp=[7 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.800000 ;0.900000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.340000 0.100000 0.040000 0.110000 0.650000 0.250000 0.570000 0.480000 0.150000 0.800000 ;0.550000 0.020000 0.920000 0.080000 0.700000 0.360000 0.910000 0.710000 0.820000 0.850000 ];\r\nWexp=[5 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.340000 0.890000 0.060000 0.090000 0.750000 0.730000 0.810000 0.950000 0.660000 0.390000 ;0.530000 0.970000 0.610000 0.670000 0.690000 0.380000 0.590000 0.300000 0.720000 0.110000 ];\r\nWexp=[8 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.870000 0.600000 0.860000 0.830000 0.680000 0.810000 0.700000 0.920000 0.760000 ;0.170000 0.510000 0.330000 0.050000 0.240000 0.030000 0.410000 0.480000 0.520000 ];\r\nWexp=[9 9];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.940000 0.720000 0.810000 0.220000 0.280000 0.530000 0.440000 0.160000 0.880000 0.970000 ;0.120000 0.030000 0.470000 0.560000 0.380000 0.340000 0.690000 0.090000 0.250000 0.750000 ];\r\nWexp=[10 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.410000 0.360000 0.230000 0.140000 0.180000 0.050000 0.500000 0.270000 0.090000 0.450000 ;0.680000 0.950000 0.910000 0.860000 0.730000 0.550000 0.590000 0.820000 0.640000 0.770000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.278000 0.852000 0.370000 0.824000 0.389000 0.704000 0.546000 0.204000 0.296000 0.056000 ;0.833000 0.315000 0.991000 0.028000 0.907000 0.630000 0.361000 0.037000 0.065000 0.954000 ];\r\nWexp=[7 2];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.713000 0.657000 0.778000 0.435000 0.565000 0.870000 0.963000 0.343000 0.481000 0.593000 ;0.287000 0.333000 0.454000 0.130000 0.370000 0.759000 0.176000 0.611000 0.231000 0.398000 ];\r\nWexp=[10 6];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.590000 0.750000 0.650000 0.900000 0.740000 0.880000 0.850000 ;0.400000 0.070000 0.540000 0.380000 0.570000 0.150000 0.490000 ];\r\nWexp=[7 7];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.110000 0.920000 0.540000 0.840000 0.380000 0.770000 0.900000 0.490000 0.870000 0.750000 ;0.620000 0.480000 0.330000 0.440000 0.890000 0.130000 0.430000 0.080000 0.340000 0.560000 ];\r\nWexp=[10 5];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.480000 0.650000 0.770000 0.690000 0.720000 0.560000 0.660000 0.550000 0.510000 0.730000 ;0.310000 0.440000 0.300000 0.060000 0.200000 0.420000 0.030000 0.070000 0.110000 0.140000 ];\r\nWexp=[10 10];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.900000 0.680000 0.600000 0.800000 ;0.350000 0.050000 0.170000 0.880000 ];\r\nWexp=[4 3];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.730000 0.910000 0.450000 0.640000 0.090000 ;0.550000 0.360000 0.270000 0.820000 0.180000 ];\r\nWexp=[4 2];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.530000 0.740000 0.410000 0.320000 0.820000 0.970000 0.620000 0.500000 0.710000 0.090000 ;0.180000 0.760000 0.380000 0.150000 0.470000 0.210000 0.560000 0.120000 0.590000 0.440000 ];\r\nWexp=[9 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.487000 0.092000 0.714000 0.160000 0.504000 0.277000 0.479000 0.605000 0.462000 0.832000 ;0.210000 0.824000 0.118000 0.387000 0.664000 0.874000 0.445000 0.739000 0.546000 0.017000 ];\r\nWexp=[8 2];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.100000 ;0.400000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.688000 0.872000 0.615000 0.477000 0.734000 0.624000 0.394000 0.532000 0.954000 0.817000 ;0.193000 0.119000 0.349000 0.073000 0.037000 0.009000 0.128000 0.303000 0.046000 0.064000 ];\r\nWexp=[10 10];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.910000 0.550000 0.300000 0.570000 0.920000 0.400000 0.450000 0.150000 0.110000 0.190000 ;0.090000 0.790000 0.890000 0.740000 0.850000 0.940000 0.340000 0.380000 0.720000 0.260000 ];\r\nWexp=[6 1];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.723000 0.639000 0.824000 0.697000 0.840000 0.882000 0.437000 0.782000 0.588000 0.218000 ;0.345000 0.151000 0.067000 0.849000 0.815000 0.235000 0.521000 0.765000 0.950000 0.681000 ];\r\nWexp=[9 3];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.200000 0.150000 0.350000 0.090000 0.110000 0.330000 0.220000 ;0.390000 0.460000 0.850000 0.700000 0.570000 0.610000 0.500000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.850000 0.790000 0.550000 0.380000 0.300000 0.400000 0.770000 0.740000 0.320000 0.570000 ;0.260000 0.210000 0.110000 0.130000 0.020000 0.040000 0.230000 0.190000 0.090000 0.060000 ];\r\nWexp=[10 10];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.961000 0.330000 0.010000 0.816000 0.583000 0.913000 0.893000 0.951000 0.126000 0.398000 ;0.767000 0.029000 0.262000 0.641000 0.175000 0.544000 0.359000 0.932000 0.680000 0.476000 ];\r\nWexp=[9 4];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.300000 ;0.700000 ];\r\nWexp=[0 0];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\nm=[0.240000 0.050000 0.190000 0.110000 0.920000 0.590000 0.730000 0.380000 0.780000 0.950000 ;0.860000 0.700000 0.430000 0.620000 0.220000 0.540000 0.410000 0.890000 0.680000 0.490000 ];\r\nWexp=[6 2];\r\nW=War(m);\r\nassert(isequal(Wexp,W))\r\n%%\r\n% function GJam_Qual_2014d\r\n% % \r\n% %War\r\n% fn='D-small-attempt0.in';\r\n% %fn='D-large.in';\r\n% [data] = read_file(fn); % \r\n% \r\n% fidG = fopen('D-small-output.out', 'w');\r\n% %fidG = fopen('D-large-output001.out', 'w');\r\n% tic\r\n% \r\n% for i=1:size(data,2) % Cell array has N rows of cases\r\n% % m=sort(data{i},2);\r\n%  m=data{i};\r\n%  dw = dWar(m) ;% \r\n%  w = War(m) ;%  \r\n%  \r\n%    fprintf('Case #%i: %i %i\\n',i,dw,w);\r\n%    fprintf(fidG,'Case #%i: %i %i\\n',i,dw,w);\r\n%     \r\n% end\r\n% toc\r\n% \r\n% fclose(fidG);\r\n% \r\n% end\r\n% \r\n% function dw=dWar(m)\r\n% % Post contest\r\n% % Lie to burn opponent best pieces\r\n%  N=sort(m(1,:));\r\n%  K=sort(m(2,:));\r\n%  \r\n%  dw=0;\r\n%  for i=1:length(N)\r\n%   if N(i)\u003eK(1) % Lie to above to beat lowest\r\n%    dw=dw+1;\r\n%    K=K(2:end);\r\n%   else % Lie to just below best\r\n%    K=K(1:end-1);\r\n%   end\r\n%  end\r\n%  \r\n% end\r\n% \r\n% function w=War(m)\r\n% % Optimal truthful strategy\r\n% % Best lucky sequence\r\n%  w=0;\r\n% \r\n%  Nm=sort(m(1,:));\r\n%  Km=sort(m(2,:));\r\n%  \r\n%  Nmz=[Nm' ones(size(Nm,2),1)];\r\n%  Kmz=[Km' zeros(size(Km,2),1)];\r\n%  z=[Nmz;Kmz]; \r\n%  z=sortrows(z,-1);\r\n%  \r\n%  while ~isempty(z)\r\n%   ptr1=find(z(:,2)==1,1,'last');\r\n%   ptr0=find(z(1:ptr1,2)==0,1,'last');\r\n%   if isempty(ptr0)\r\n%    % score\r\n%    w=w+1;\r\n%    z(ptr1,:)=[];\r\n%    ptr0=find(z(:,2)==0,1,'last');\r\n%    z(ptr0,:)=[];  \r\n%   else\r\n%    z(ptr1,:)=[];\r\n%    z(ptr0,:)=[];  \r\n%   end\r\n%  end \r\n%  % Create worst Ken/B Scenario\r\n%  \r\n% end\r\n% \r\n% \r\n% function [d] = read_file(fn)\r\n% % Read whole array then parse\r\n% % dlmread valid for numeric arrays\r\n%  m=dlmread(fn);\r\n%  m(1,:)=[];\r\n%  for i=1:size(m,1)/3\r\n%   d{i}=m(3*i-1:3*i,1:m(3*i-2,1));\r\n%  end\r\n%  \r\n% end % read_file\r\n% Data Set file\r\n%4\r\n%1\r\n%0.5\r\n%0.6\r\n%2\r\n%0.7 0.2\r\n%0.8 0.3\r\n%3\r\n%0.5 0.1 0.9\r\n%0.6 0.4 0.3\r\n%9\r\n%0.186 0.389 0.907 0.832 0.959 0.557 0.300 0.992 0.899\r\n%0.916 0.728 0.271 0.520 0.700 0.521 0.215 0.341 0.458\r\n\r\n\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2014-04-19T14:08:56.000Z","updated_at":"2014-04-19T15:00:47.000Z","published_at":"2014-04-19T15:00:47.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/2974486/dashboard#s=p3\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 Qualifier Deceitful War\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMy condensed summary of the problem statement.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven two players, A and B, they are each given N masses. All masses are unique. Player A plays first on each comparison and states a Mass. Player B then plays a Mass. The player with the higher mass wins a point after they are compared on a scale. These masses then disappear. This repeats for all N masses. There are no constraints on the order of pieces played.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eUnsurprisingly when A truthfully states masses player B consistently wins.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePlayer A, discouraged, decides to cheat. After the masses are provided player A asks B get A a drink and while B is away A looks at B's masses. Player A now plays pieces but does not necessarily honestly state the mass values. All scale comparisons must be valid based on B's strategy and A's stated mass. Player A now achieves more wins.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePart one is determine the best possible score for A when playing deceitfully.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePart two is determine the best possible score if player A did not look and is honest.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[A: 0.5 0.1 0.9  B 0.6 0.4 0.3  Deceitful Wins 2, Optimal Honest 1\\n\\nA 0.186 0.389 0.907 0.832 0.959 0.557 0.300 0.992 0.899\\nB 0.916 0.728 0.271 0.520 0.700 0.521 0.215 0.341 0.458\\nDeceitful A Wins 8\\nOptimal Honest A Wins 4]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e A,B vectors of length N (Small has N\u0026lt;=10, Large(future challenge N\u0026lt;=1000)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Deceitful Wins, Optimal Honest Wins\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNote:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn the contest period there were 30 Matlab solutions, of which I was not one as I glitched on the easy Deceitful algorithm thinking my Honest algorithm was in error.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.go-hero.net/jam/14/solutions/0/4/MATLAB\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam Deceitful Solutions\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. My post contest full GJam is in the test suite. About 11000 out of 28000 entrants solved this puzzle.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":1942,"title":"GJam 2014 China Rd B: Party","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/2929486/dashboard#s=p1 GJam 2014 China Party\u003e. Small Case.\r\n\r\nThe Goal is determine the optimal Party House. Given a set of people to attend a party, select the home from this set that minimizes the total travel of people. People travel only NSEW, no diagonals, to reach the host's home. If multiple homes have equal distance then select the home with minimum X. If there are more than one with Min distance and equal Min X then choose the house with Min Y.\r\n\r\nThe input is an array that defines rectangles of partiers. One line of the array is [xmin,ymin,xmax,ymax]. Blocks do not overlap.\r\n\r\n\r\n*Input:* [M], Bx4 matrix (B\u003c=100). Total B area of \u003c=1000\r\n\r\n*Output:* [x,y,d] where [x,y] is Party House and d is everyone's total distance\r\n\r\n*Examples:*\r\n\r\n  M   [x y d]\r\n  [0 0 2 2] [1 1 12]\r\n  [-1 2 -1 2;0 0 0 0;1 3 1 3] [-1 2 6]\r\n\r\n \r\n*Contest Performance:* Best Delta Time of 16 minutes with 496 of 2010 able to process the small data set. The large data set was only achieved by 47 in the 3 hrs of contest duration.\r\n\r\n\r\n*Commentary:*\r\n\r\n  1) The small can be solved by brute force since fewer than 1000 points require evaluation.\r\n  2) The large case, which is giving me fits, has up to 1,000,000 points to evaluate.\r\n  3) Graphing the small case with surf gives some unexpected asymmetric results relative to the simple centroid.","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/2929486/dashboard#s=p1\"\u003eGJam 2014 China Party\u003c/a\u003e. Small Case.\u003c/p\u003e\u003cp\u003eThe Goal is determine the optimal Party House. Given a set of people to attend a party, select the home from this set that minimizes the total travel of people. People travel only NSEW, no diagonals, to reach the host's home. If multiple homes have equal distance then select the home with minimum X. If there are more than one with Min distance and equal Min X then choose the house with Min Y.\u003c/p\u003e\u003cp\u003eThe input is an array that defines rectangles of partiers. One line of the array is [xmin,ymin,xmax,ymax]. Blocks do not overlap.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [M], Bx4 matrix (B\u0026lt;=100). Total B area of \u0026lt;=1000\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e [x,y,d] where [x,y] is Party House and d is everyone's total distance\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eM   [x y d]\r\n[0 0 2 2] [1 1 12]\r\n[-1 2 -1 2;0 0 0 0;1 3 1 3] [-1 2 6]\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eContest Performance:\u003c/b\u003e Best Delta Time of 16 minutes with 496 of 2010 able to process the small data set. The large data set was only achieved by 47 in the 3 hrs of contest duration.\u003c/p\u003e\u003cp\u003e\u003cb\u003eCommentary:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e1) The small can be solved by brute force since fewer than 1000 points require evaluation.\r\n2) The large case, which is giving me fits, has up to 1,000,000 points to evaluate.\r\n3) Graphing the small case with surf gives some unexpected asymmetric results relative to the simple centroid.\r\n\u003c/pre\u003e","function_template":"function [x,y,d]=Party_CH(p)\r\n x=0;\r\n y=0;\r\n d=0;\r\nend","test_suite":"%%\r\ntic\r\nzm=[0 0 30 30 ];\r\nvexp=[15 15 14880];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[0 0 29 29 ];\r\nvexp=[14 14 13500];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[0 1 0 100 ;0 -100 0 -1 ;-100 0 -1 0 ;1 0 100 0 ];\r\nvexp=[-1 0 20400];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[616 34 616 34 ;78 -828 78 -828 ;-762 -671 -762 -671 ;-199 -960 -199 -960 ;427 -575 427 -575 ;448 798 448 798 ;-819 -939 -819 -939 ;852 -564 852 -564 ;-145 281 -145 281 ;694 828 694 828 ;-278 963 -278 963 ;47 813 47 813 ;-393 24 -393 24 ;198 -257 198 -257 ;-393 -177 -393 -177 ;596 237 596 237 ;-678 760 -678 760 ;-180 92 -180 92 ;-590 995 -590 995 ;27 -946 27 -946 ;459 799 459 799 ;-491 -739 -491 -739 ;-691 -922 -691 -922 ;-38 185 -38 185 ;495 -471 495 -471 ;-850 532 -850 532 ;-360 798 -360 798 ;589 -104 589 -104 ;-492 -364 -492 -364 ;-797 415 -797 415 ;105 319 105 319 ;-879 -347 -879 -347 ;-795 172 -795 172 ;529 831 529 831 ;357 -199 357 -199 ;621 959 621 959 ;-475 125 -475 125 ;769 884 769 884 ;172 -706 172 -706 ;618 222 618 222 ;989 734 989 734 ;-273 478 -273 478 ;-548 930 -548 930 ;-634 889 -634 889 ;599 879 599 879 ;836 834 836 834 ;463 901 463 901 ;972 -903 972 -903 ;-319 495 -319 495 ;-727 -368 -727 -368 ;-685 -487 -685 -487 ;834 902 834 902 ;-114 -961 -114 -961 ;-984 193 -984 193 ;-388 867 -388 867 ;712 232 712 232 ;-750 19 -750 19 ;855 -455 855 -455 ;857 996 857 996 ;493 -722 493 -722 ;-582 426 -582 426 ;-824 848 -824 848 ;479 -993 479 -993 ;-976 -820 -976 -820 ;208 443 208 443 ;919 745 919 745 ;-460 -548 -460 -548 ;375 556 375 556 ;-572 980 -572 980 ;345 -411 345 -411 ;-275 613 -275 613 ;718 -895 718 -895 ;-838 -892 -838 -892 ;-241 836 -241 836 ;336 -878 336 -878 ;891 -355 891 -355 ;-986 989 -986 989 ;629 856 629 856 ;-779 787 -779 787 ;970 711 970 711 ;-578 -163 -578 -163 ;779 735 779 735 ;572 -203 572 -203 ;237 192 237 192 ;-427 -213 -427 -213 ;-338 9 -338 9 ;-905 45 -905 45 ;64 -35 64 -35 ;476 -560 476 -560 ;-370 24 -370 24 ;-836 487 -836 487 ;53 50 53 50 ;540 -897 540 -897 ;-179 -8 -179 -8 ;-979 227 -979 227 ;528 257 528 257 ;-876 615 -876 615 ;-342 -895 -342 -895 ;802 -744 802 -744 ;-458 -395 -458 -395 ];\r\nvexp=[-38 185 110298];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[241 -635 241 -635 ;75 -432 75 -432 ;-522 -517 -522 -517 ;-589 -931 -589 -931 ;-903 447 -903 447 ;-555 757 -555 757 ;-584 19 -584 19 ;420 -458 420 -458 ;-127 517 -127 517 ;-417 158 -417 158 ;542 703 542 703 ;865 -531 865 -531 ;-592 -191 -591 -190 ;570 467 570 467 ;-326 -668 -325 -668 ;197 516 197 516 ;238 -442 239 -441 ;-339 -71 -338 -70 ;255 -450 256 -450 ;408 -232 409 -231 ;302 -765 303 -764 ;-575 687 -575 688 ;-352 -651 -351 -650 ;-483 -96 -483 -95 ;285 170 286 170 ;-349 -660 -348 -659 ;518 -419 518 -418 ;555 -506 556 -506 ;900 97 901 98 ;-969 -258 -969 -257 ;-514 -199 -513 -198 ;-422 -197 -422 -197 ;-852 -115 -852 -114 ;166 -651 166 -650 ;628 -930 629 -930 ;-53 853 -52 853 ;484 503 484 504 ;-912 -976 -911 -975 ;-386 -562 -386 -561 ;521 946 521 947 ;717 -799 718 -797 ;-463 -348 -461 -348 ;-14 167 -13 169 ;-346 -677 -344 -675 ;-675 176 -673 179 ;894 807 896 811 ];\r\nvexp=[-338 -71 136630];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[468 377 468 377 ;839 -105 839 -105 ;-871 487 -871 487 ;-307 651 -307 651 ;135 -929 135 -929 ;-411 -829 -411 -829 ;745 -64 745 -64 ;336 784 336 784 ;-875 -84 -875 -84 ;-723 -736 -723 -736 ;701 -818 701 -818 ;-239 210 -239 210 ;-15 614 -15 614 ;362 225 362 225 ;894 443 894 443 ;-352 -303 -352 -303 ;-287 254 -287 255 ;-739 -960 -739 -960 ;110 28 110 28 ;540 434 541 435 ;-103 -962 -102 -962 ;913 -274 913 -273 ;835 -730 836 -730 ;544 866 545 867 ;-97 -358 -96 -358 ;-490 -319 -490 -319 ;-122 700 -122 702 ;37 902 39 902 ;103 266 104 266 ;-581 -714 -579 -710 ];\r\nvexp=[-97 -358 62565];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[28 122 30 124 ;-85 -609 -83 -607 ;763 19 764 20 ;612 -204 613 -203 ;-521 792 -520 794 ;-782 193 -781 195 ;-662 149 -661 151 ;-561 -568 -559 -567 ;-190 -897 -189 -896 ;-725 -317 -723 -315 ;704 -957 706 -956 ;-329 -967 -328 -966 ;-564 -639 -563 -637 ;-603 -86 -601 -84 ;-165 548 -164 550 ;-197 -150 -195 -148 ;-379 -581 -377 -579 ;401 -684 403 -683 ;546 -194 548 -192 ;267 573 268 574 ;-634 288 -632 290 ;593 857 595 858 ;78 -240 80 -238 ;800 981 801 982 ;473 472 474 473 ;-894 469 -893 471 ;582 347 583 349 ;516 189 518 190 ;333 -865 335 -864 ;-192 507 -191 508 ;-310 534 -309 536 ;-783 -487 -781 -486 ;-915 -696 -914 -695 ;-57 872 -56 874 ;717 -423 718 -422 ;509 -810 510 -809 ;-186 -335 -184 -333 ;-403 629 -401 631 ;-598 104 -596 106 ;-149 -210 -147 -208 ;920 911 922 913 ;819 -934 821 -932 ;518 -328 520 -326 ;-630 429 -628 431 ;348 -766 350 -764 ;242 -300 244 -298 ;387 -191 389 -189 ;-19 -871 -17 -869 ;383 723 385 725 ;-742 -327 -740 -325 ;-181 -43 -179 -41 ;799 -46 801 -44 ;729 -373 731 -371 ;-863 -16 -861 -14 ;998 -444 1000 -442 ;242 962 244 964 ;-249 -412 -247 -410 ;116 -14 118 -12 ;871 -455 873 -453 ;669 492 671 494 ;877 -447 879 -445 ;990 -938 992 -936 ;43 522 45 524 ;-70 45 -68 47 ;808 8 810 10 ;-879 -310 -877 -308 ;979 79 981 81 ;-695 202 -693 204 ;-650 469 -648 471 ;690 -624 692 -622 ;-169 -43 -167 -41 ;-81 723 -78 726 ;-789 968 -787 970 ;-913 698 -912 701 ;-597 -970 -595 -968 ;693 -79 694 -77 ;41 847 43 849 ;39 -728 41 -725 ;422 470 425 473 ;-518 -883 -517 -880 ;-858 784 -855 786 ;-246 311 -245 312 ;194 -715 197 -712 ;-370 -868 -369 -865 ;377 174 380 176 ;-697 223 -694 225 ;-489 -957 -486 -955 ;-585 -164 -583 -162 ;-283 -880 -281 -878 ;-141 -729 -140 -728 ;835 447 838 450 ;-424 -612 -423 -610 ;-280 376 -276 377 ;-351 -393 -350 -392 ;-793 -436 -788 -434 ;-548 -180 -547 -175 ;826 775 831 778 ;-664 -604 -658 -602 ;987 -65 988 -57 ;-540 -796 -533 -795 ];\r\nvexp=[-167 -43 874364];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[-291 955 -289 956 ;276 -710 278 -708 ;-724 283 -722 285 ;-850 588 -848 589 ;625 -511 627 -509 ;-530 -994 -529 -993 ;-312 -655 -311 -654 ;86 -269 87 -267 ;565 -521 566 -520 ;438 320 440 321 ;-330 985 -328 986 ;-408 -942 -407 -940 ;755 792 756 794 ;847 -794 848 -793 ;436 -1 438 0 ;206 -637 208 -635 ;516 544 518 546 ;77 -200 78 -199 ;-618 276 -616 277 ;380 868 382 870 ;-664 284 -663 286 ;-526 929 -524 931 ;743 -555 745 -553 ;331 145 333 146 ;98 124 99 126 ;220 -661 222 -660 ;-92 498 -90 500 ;646 -552 647 -550 ;-531 -850 -529 -849 ;573 -80 574 -79 ;-317 299 -315 300 ;-963 713 -962 714 ;411 818 412 819 ;-99 -503 -97 -501 ;279 599 280 601 ;793 -237 794 -235 ;-41 -876 -39 -875 ;-550 -478 -549 -477 ;-107 820 -105 822 ;657 886 659 888 ;-460 684 -458 686 ;-80 455 -78 457 ;-779 -528 -777 -526 ;-829 719 -827 721 ;-760 -716 -758 -714 ;39 342 41 344 ;254 447 256 449 ;-272 -705 -270 -703 ;-900 507 -898 509 ;498 327 500 329 ;-669 168 -667 170 ;519 -367 521 -365 ;-674 323 -672 325 ;-724 519 -722 521 ;52 -596 54 -594 ;897 -724 899 -722 ;6 -387 8 -385 ;62 808 64 810 ;-84 -749 -82 -747 ;-475 -379 -473 -377 ;-467 -819 -465 -817 ;-130 232 -128 234 ;218 862 220 864 ;-206 339 -204 341 ;821 658 823 660 ;261 61 263 63 ;-704 869 -702 871 ;788 -490 790 -488 ;482 67 484 69 ;-328 -781 -326 -779 ;150 -117 152 -115 ;946 -90 948 -88 ;-68 477 -65 479 ;-704 915 -701 918 ;979 -761 980 -759 ;328 705 331 708 ;969 951 971 953 ;-638 991 -637 993 ;-621 120 -619 121 ;-546 651 -545 654 ;217 550 218 551 ;-743 196 -740 199 ;-591 847 -588 849 ;-48 -769 -46 -766 ;678 424 680 425 ;-250 268 -248 270 ;964 -389 966 -386 ;193 -818 195 -815 ;-803 107 -801 109 ;16 -725 19 -722 ;-721 -274 -720 -273 ;14 666 17 668 ;-822 933 -820 936 ;-895 -416 -894 -412 ;821 -329 824 -326 ;382 68 387 68 ;590 282 595 284 ;97 -310 103 -307 ;147 933 150 933 ;-772 -42 -765 -33 ];\r\nvexp=[-128 232 914624];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[-987 -105 -985 -103 ;-22 -655 -20 -653 ;-622 412 -621 414 ;-526 641 -524 642 ;-694 573 -692 575 ;268 -697 269 -695 ;366 544 368 545 ;648 218 649 220 ;314 443 316 445 ;-589 354 -588 355 ;60 544 62 546 ;21 -444 23 -442 ;175 -224 176 -223 ;-915 -696 -914 -695 ;-417 766 -415 767 ;-874 -599 -873 -598 ;606 921 607 922 ;-672 562 -671 564 ;-17 39 -16 40 ;-708 632 -707 633 ;823 -170 825 -168 ;996 -372 997 -371 ;961 -169 962 -167 ;572 577 573 579 ;53 345 55 347 ;569 453 570 454 ;716 753 718 754 ;-803 -873 -802 -872 ;-110 940 -108 942 ;-943 841 -941 842 ;186 997 187 999 ;-107 388 -105 390 ;193 -54 195 -52 ;-231 -916 -230 -914 ;-962 749 -960 750 ;794 -458 796 -457 ;259 -909 261 -908 ;-719 65 -718 67 ;242 -481 244 -479 ;-528 -223 -526 -221 ;283 955 285 957 ;-888 946 -886 948 ;847 -707 849 -705 ;757 -814 759 -812 ;-940 -941 -938 -939 ;2 -176 4 -174 ;665 -708 667 -706 ;656 170 658 172 ;494 949 496 951 ;994 802 996 804 ;-65 785 -63 787 ;147 684 149 686 ;-488 807 -486 809 ;-875 462 -873 464 ;-152 253 -150 255 ;114 247 116 249 ;760 -206 762 -204 ;-204 569 -202 571 ;89 -752 91 -750 ;-464 -975 -462 -973 ;-783 -545 -781 -543 ;75 -251 77 -249 ;471 -462 473 -460 ;-126 -169 -124 -167 ;-311 615 -309 617 ;-398 -727 -396 -725 ;834 -915 836 -913 ;-87 -21 -85 -19 ;-301 918 -299 920 ;-740 -366 -738 -364 ;24 47 26 49 ;-929 -761 -927 -759 ;-863 -36 -861 -33 ;541 604 543 606 ;-279 -423 -276 -422 ;-620 -116 -619 -114 ;-145 571 -143 573 ;-638 133 -636 136 ;-885 546 -882 549 ;-625 -11 -622 -8 ;-610 -369 -609 -367 ;80 -655 83 -652 ;-398 -183 -395 -182 ;-71 -953 -69 -951 ;-767 939 -766 942 ;-763 -362 -760 -360 ;46 -897 47 -895 ;23 -437 25 -436 ;550 -440 553 -439 ;-660 178 -658 182 ;851 -919 853 -917 ;124 437 125 438 ;-414 -524 -411 -520 ;881 797 884 799 ;-73 -303 -68 -301 ;-373 -585 -369 -584 ;-239 963 -237 968 ;453 965 456 968 ;-742 875 -738 877 ;-894 -954 -884 -944 ];\r\nvexp=[-126 -168 1055075];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\n%%\r\nzm=[-648 -872 -646 -871 ;739 270 741 272 ;-847 -333 -845 -331 ;-510 -174 -508 -173 ;182 -353 183 -352 ;-573 277 -571 278 ;297 245 299 247 ;-223 818 -221 819 ;886 57 887 58 ;888 -773 889 -772 ;-593 513 -591 514 ;-587 -107 -585 -106 ;-564 40 -563 41 ;234 -624 236 -622 ;-82 902 -81 903 ;222 851 223 852 ;-726 476 -724 478 ;-392 -160 -390 -158 ;-153 -484 -152 -483 ;-522 -962 -520 -960 ;66 -926 68 -925 ;-535 28 -534 29 ;-603 -292 -602 -291 ;-981 -471 -980 -469 ;-367 865 -365 867 ;-445 -75 -443 -73 ;300 -40 301 -38 ;-329 -287 -328 -286 ;554 935 556 936 ;593 -932 594 -930 ;206 873 208 875 ;335 574 336 575 ;296 154 298 155 ;323 -423 325 -422 ;-144 472 -143 474 ;-284 211 -282 213 ;-289 -996 -287 -994 ;167 574 168 575 ;65 803 67 805 ;264 173 266 175 ;-820 -637 -818 -635 ;-897 813 -895 815 ;60 -524 62 -522 ;652 850 654 852 ;-837 57 -835 59 ;31 -96 33 -94 ;-607 540 -605 542 ;-240 794 -238 796 ;386 453 388 455 ;-421 -468 -419 -466 ;-838 -196 -836 -194 ;248 -366 250 -364 ;7 -933 9 -931 ;578 742 580 744 ;-634 -828 -632 -826 ;678 16 680 18 ;706 -163 708 -161 ;228 771 230 773 ;-440 -564 -438 -562 ;228 -606 230 -604 ;-361 652 -359 654 ;-608 -741 -606 -739 ;-926 42 -924 44 ;984 147 986 149 ;-132 -334 -130 -332 ;492 870 494 872 ;-470 523 -468 525 ;440 983 442 985 ;-68 -14 -66 -12 ;652 970 654 972 ;-591 -410 -589 -408 ;-252 -573 -250 -571 ;-639 -424 -637 -421 ;-306 -234 -303 -231 ;-720 81 -718 83 ;-645 845 -642 846 ;-938 507 -936 508 ;646 122 648 125 ;-76 864 -73 867 ;777 -142 778 -141 ;267 -756 269 -755 ;-151 -11 -150 -10 ;-568 -929 -567 -926 ;753 -830 756 -828 ;-205 -663 -202 -661 ;329 368 330 369 ;-402 -682 -399 -679 ;-649 463 -647 465 ;995 538 999 539 ;107 817 111 818 ;-546 -441 -544 -437 ;-856 920 -854 921 ;-587 -483 -584 -479 ;717 -641 719 -639 ;-892 -134 -890 -132 ;-300 -887 -296 -883 ;605 -228 607 -224 ;-93 -994 -90 -994 ;-421 -56 -414 -50 ;76 -592 80 -583 ];\r\nvexp=[-303 -231 855861];\r\n[x y d]=Party_CH(zm);\r\nv=[x y d];\r\nassert(isequal(v,vexp))\r\ntoc\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-10-18T01:44:26.000Z","updated_at":"2013-10-18T02:33:24.000Z","published_at":"2013-10-18T02:33:24.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/2929486/dashboard#s=p1\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 China Party\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Small Case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Goal is determine the optimal Party House. Given a set of people to attend a party, select the home from this set that minimizes the total travel of people. People travel only NSEW, no diagonals, to reach the host's home. If multiple homes have equal distance then select the home with minimum X. If there are more than one with Min distance and equal Min X then choose the house with Min Y.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe input is an array that defines rectangles of partiers. One line of the array is [xmin,ymin,xmax,ymax]. Blocks do not overlap.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [M], Bx4 matrix (B\u0026lt;=100). Total B area of \u0026lt;=1000\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [x,y,d] where [x,y] is Party House and d is everyone's total distance\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[M   [x y d]\\n[0 0 2 2] [1 1 12]\\n[-1 2 -1 2;0 0 0 0;1 3 1 3] [-1 2 6]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eContest Performance:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Best Delta Time of 16 minutes with 496 of 2010 able to process the small data set. The large data set was only achieved by 47 in the 3 hrs of contest duration.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCommentary:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[1) The small can be solved by brute force since fewer than 1000 points require evaluation.\\n2) The large case, which is giving me fits, has up to 1,000,000 points to evaluate.\\n3) Graphing the small case with surf gives some unexpected asymmetric results relative to the simple centroid.]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"term":"tag:\"2014\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"2014\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"2014\"","","\"","2014","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f5e88a676e0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f5e88a67640\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f5e88a66d80\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f5e88a67960\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f5e88a678c0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f5e88a67820\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f5e88a67780\u003e":"tag:\"2014\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f5e88a67780\u003e":"tag:\"2014\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"cody-search","password":"78X075ddcV44","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"2014\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"2014\"","","\"","2014","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f5e88a676e0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f5e88a67640\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f5e88a66d80\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f5e88a67960\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f5e88a678c0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f5e88a67820\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f5e88a67780\u003e":"tag:\"2014\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f5e88a67780\u003e":"tag:\"2014\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":1902,"difficulty_rating":"easy-medium"},{"id":1934,"difficulty_rating":"easy-medium"},{"id":1903,"difficulty_rating":"easy-medium"},{"id":1901,"difficulty_rating":"medium"},{"id":2324,"difficulty_rating":"medium"},{"id":2325,"difficulty_rating":"medium"},{"id":2291,"difficulty_rating":"unrated"},{"id":1942,"difficulty_rating":"unrated"}]}}