Init
This commit is contained in:
commit
d0ff801e7d
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,50 @@
|
|||
#!/usr/bin/perl
|
||||
use strict;
|
||||
|
||||
my $input = <DATA>;
|
||||
chomp($input);
|
||||
my @ranges = split(/,/,$input);
|
||||
|
||||
my $sum = 0;
|
||||
my $sum2 = 0;
|
||||
foreach my $range (@ranges) {
|
||||
my($first,$last)=split(/-/, $range);
|
||||
|
||||
for(my $i=$first; $i<=$last; $i++) {
|
||||
my $l = length "$i";
|
||||
if($l % 2 == 0) {
|
||||
if(substr($i, 0, $l/2) eq substr($i, $l/2, $l/2)) {
|
||||
print "Invalid: $i\n";
|
||||
$sum += $i;
|
||||
$sum2 += $i;
|
||||
next;
|
||||
}
|
||||
}
|
||||
|
||||
for(my $len = 1; $len <= (length "$i")/2; $len++) {
|
||||
my $str = substr($i, 0, $len);
|
||||
my $working = $str . $str;
|
||||
while(length $working < length $i) {
|
||||
$working .= $str;
|
||||
}
|
||||
if($working == $i) {
|
||||
print "Invalid2: $i\n";
|
||||
$sum2 += $i;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print "Sum is $sum\n";
|
||||
print "Sum2 is $sum2\n";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
__DATA__
|
||||
10327-17387,74025-113072,79725385-79874177,964628-1052240,148-297,3-16,126979-227778,1601-2998,784-1207,831289-917268,55603410-55624466,317-692,602197-750430,17-32,38-58,362012-455626,3622441-3647505,883848601-883920224,62-105,766880-804855,9184965756-9185005415,490073-570277,2929273115-2929318135,23251-48475,9696863768-9697013088,229453-357173,29283366-29304416,4526-8370,3095-4389,4400617-4493438
|
||||
11-22,95-115,998-1012,1188511880-1188511890,222220-222224,1698522-1698528,446443-446449,38593856-38593862,565653-565659,824824821-824824827,2121212118-2121212124
|
||||
|
|
@ -0,0 +1,230 @@
|
|||
#!/usr/bin/perl
|
||||
use strict;
|
||||
|
||||
my $sum = 0;
|
||||
|
||||
while(my $line = <DATA>) {
|
||||
chomp($line);
|
||||
my @digits=split(//, $line);
|
||||
|
||||
my $largest = 0;
|
||||
|
||||
for(my $i = 0; $i < @digits-1; $i++) {
|
||||
for(my $j = $i+1; $j < @digits; $j++) {
|
||||
my $jolts = "$digits[$i]$digits[$j]";
|
||||
$jolts -= 0;
|
||||
if($jolts > $largest) {
|
||||
$largest = $jolts;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print "Bank largest is $largest\n";
|
||||
$sum += $largest;
|
||||
}
|
||||
|
||||
print "Sum is $sum\n";
|
||||
|
||||
|
||||
|
||||
__DATA__
|
||||
6483266694748235893324353634344523834567333718239477213324541343624714732212276727733744455653544463
|
||||
2543337317334342631273222374427553353272735227457653731534224733335623431363332212323533535333423775
|
||||
1171775673654754637242647675223455221523371731424421454256532546527447416736647162614542361475612389
|
||||
7567565743232354274324358254636933332327665424362432136332633378463931143733733333654177443634254225
|
||||
3667833563742535642357424443583444433164255464664643343695632444543476364514454626548444625765354499
|
||||
2729241222329123457422528225142242286297497441472728464675615243626217526319294335298622221564523151
|
||||
2325333232221221424422233712312233332414242223244343332373222423342332223232222224323113324424134121
|
||||
3544334476455533445454545534445436354424551344431543444135385564453544474354339443944434454242338755
|
||||
6923523553724555826545455454545465563455525532385543558554555555235643434455534555456645559345424222
|
||||
3713331131214132232632357628271236732756335334225557312633533322223433322332227173323322633433254922
|
||||
5542244352122346423342223444284353436224323233344224255121322454331242716436354234143274135135334244
|
||||
7162743447536295246796527676468385557236589519624462613223526836654621342279883474452325226263273139
|
||||
4471332775232839457784856429322785267271415576235256224744379223362354163425322422353251335223748294
|
||||
4346211424422222426522412332342223124232433521222212522622224522222322922122242321289322241212612248
|
||||
3933333344435332633335343333326333324324321343333324332323334233633323232443433333433133293233343433
|
||||
6585685274872474256868558658651539948458889788546584884556944395687334789354443387445242654964945955
|
||||
3444423533535542244342273333734333465764442334363243233342554334835822354446554325635232363334544548
|
||||
2563356752365526724855523276722277363574179457365743447387745757634578562526634617646444554863768526
|
||||
2242522423343223422432453234862232223322221132313423324224232226324222322292214127211224412315341423
|
||||
2225142225732522238462261322432443222172541743212222131225232222324223225172352623222125222226242212
|
||||
2323363432242323342311333232252133323413248233531234343423351422344524534342435211444332343233439442
|
||||
3124262532255282347432332294321135222362424972252223112182152324318322321252222112253222225322411222
|
||||
2245334552331524253681344534348345442133513353454238459543534745465382334735454123343442423442443934
|
||||
3322422222222223122222222222224221222112222232222222223522323121222213122222121223422232122222131232
|
||||
7236535664653565535465635366422265436332242234453634547553232665533563443734353355633544265445562333
|
||||
3362228222422133327322222772233322323532313242322212322242351322234225224213233542333144332333732232
|
||||
5342533334512341534142525424221433122414422241514334245311143541342335344222332112111535425322226789
|
||||
2222243214211225332122232722325213322322423225222332422243224322212131234322342411431242521333111132
|
||||
2431332622213122222213323233222342233233313224232242324234213522233121413222432153323432413214232234
|
||||
2632254426445554463233675543663354252364264273442465369374465344265346322555224345426232653752624455
|
||||
2224252122263212222122242313222322625222114243221342222222324122326121222213253142212212212332122364
|
||||
5674534466565636646662676545665534646635666365564665664467564666456654668593362444446744666554554766
|
||||
2454222496229621242121264211225262657254244599227752543642596753262384425725522523262558272113785222
|
||||
4333432323883373233343244735353323242136522336393337312342133733333737585447336353334312334233239323
|
||||
3332433332632332242243333552322345444322433333345334432744333233323424132333334222323463833284523413
|
||||
3225241811225112222441225224646162357422421132224244342443617633253321224223252264222625752131322232
|
||||
4142322221482422527722132262152123222226422234241226221372232422324226232222221444222443222222442221
|
||||
2122112112142212212211232121221222211222212222312234222222211232222222223222222322212322121221222122
|
||||
2222222124223222212223224331223222222326242213312222222222212213224221233221321222322222212132351222
|
||||
2215272212212212522332314222232521222232222521242222212531222352522312512221122423322312132252251622
|
||||
5436526445378684424444568445542446553648689488566256934745476233465425455768458459649634966485652754
|
||||
1422422222243422422522234212312441122422233132242233322231331227221441425221242224221242222412312228
|
||||
8231222334221221741123232222232152322232315112422323221722322421322352323271121232312214124212232323
|
||||
3325242234162322342135122233155454333332422322233455243222233323823223332142212313335332223241223333
|
||||
4355434445222544414334245223344754544163753444544243558755432234535445443344142335537441342345446474
|
||||
1336312223124525222322223222222213232342243323253221361234446112263212426251322332225112221253222233
|
||||
5367888866834536575377596677847443874839579585537663878498345777388579874847657388547557778388818978
|
||||
2222213321112122221111232422112222122223221312311222222131322332212322122322131232232132131222232123
|
||||
3319333223232123222212223528122362522252273222226227732322322223232422222422522322431371432222222232
|
||||
4355789657548436447545456596283356475869755625945566544654679445655355546846875533957745363857553589
|
||||
5235225434349223431221222424313242712267423544361221222222432412229272243123723224342524222212632342
|
||||
2232231222122221223724222422222125252223122321222232251223222222222224322222453212121222223341222221
|
||||
5335333343343333323223232734333333233333332333333333311333333333443133231163334332323332333334323463
|
||||
4255625361645633666646124144326161525216345554523444653556146322361311515343261335365113243661233789
|
||||
7638667436624684272673416624275555636244728456452876428697425422424259567247763874791543766747372775
|
||||
3141123121222122233433211221222322221415211223222232222112221323222222214312412312222222224222232225
|
||||
3263325433434645353436644264134498453455335834345444242346367354926234874355635644547423347374434443
|
||||
1332323273353313234322223334314333332133731353332373323223327333323323333626322347333682322332333333
|
||||
6463656765552554543425465563446455656563555455545563554535554853535655545655553548556745535538457455
|
||||
3342333133334332433231323232223333333232392232332442322331233333322132423632422282238312383323333223
|
||||
2239121232221122222221642224222152222112223221122212232325422521124212442231223242222313522422121283
|
||||
2222162222222172222222221221112262132323112222323212421222222132226231222222212223222222244222123222
|
||||
3187737233433234335276133212333147245233337362234333126333243134333353227422213242224252522627332123
|
||||
4532432376547655675765547764667466877716765473677694554655366743365573554745575736644564576556965855
|
||||
5336333374522244425439832113542436353233123232543534342335224132212125323322653232232223233343633562
|
||||
3632763655342634236354433162354345234437531354343564134386374437451476636364473437247454232643345433
|
||||
2231322422125242242122214222222172122214222122312252221222122224422124322222221124232222222223323411
|
||||
4343242244223252454116323222222111124322221422152322522621242252333283221223253422441354223225232353
|
||||
4733234344423243544433655552447441554644654354445433232534534522144534453434484123596594534564235243
|
||||
2242324335312322343323333334222223513523322413323133534352324433233334433334523233232323522432213223
|
||||
5664154336445666586466665822868667436646448646574566655654531564345646667566564366565356566454565463
|
||||
2243624221242162522322171325223532451332126472211123222274224334222223233422226221632322231422123222
|
||||
2121232232222332233332222222232212222222112242252122322422123222231132122222112341222122231211212221
|
||||
2222222223222113222232322222312221142322223333121222322232313322424222322123223422112223222233222313
|
||||
3351253554553235543435435432424433436649153196594374552542143345255545443494452444446455436234367546
|
||||
3241224772334661376724457242123523612145222752236442126633762256448232425611684252244225134252684324
|
||||
2569464654525636566535646646266655647666486763585683566656464486544667656654644644156667676243666586
|
||||
2382324222332222244447232233322572322223243222221422219222231322231222825162123922527332212224313325
|
||||
4633421245214332232234444426324243423431225513232342433322223132534212323224133342293321242423313354
|
||||
3323223252712538235234333613421472592337232341221333327923237322346131321733378124233222143331214389
|
||||
3441456554443634514434423348343244343334414934354346374444442443564645424565443953442444433244236443
|
||||
2226222221322152342212272622211121325743254222221223332232112221342243132232216242223232624232232422
|
||||
3232342241212243222423423313121222234241243233523322353433163322325322332323213232233223322232321413
|
||||
3221652432352232564241242242231524222224261231215352244222532554255152242567243221427245211124252222
|
||||
2221222142213111212222222424162222132252224222122225222284322224321162524312222211122221122142222221
|
||||
5335313543133432353344723323322346313732352334545142262332335133633433644233333634335235333543323354
|
||||
5434564663455635666754354454454453465541545545544555553554533454535435555364353343555566354544455145
|
||||
5252551148532423644724269592229555342433225273533524123134724325552532324348213234824252373335427325
|
||||
5856686513557539652366563544665675566443674579553566479656787777665534667354446457256657667864556465
|
||||
1251222232221231222223222222233222213331222222322211322222212221223222322322222212122222233322212422
|
||||
8458546645558756745657566656465566564565865555466745554556556676565786666556555665553658656585655556
|
||||
3432323239345643435333333333332353333337432343243633334253752353233342224334553333233313333393533553
|
||||
3421422362212422252232633328842222332323633222322233112336322321234523223222522222222424222233334231
|
||||
2123625336322625334512112243442224543555521424235253452532153223126465623551122254443224432523453525
|
||||
4122221543722232275516326144842223112823224222231222221122124222222262152221411322244125746222356778
|
||||
2322422222224122243424226322344835262425252111121223451222223234432162221226222212242213222633127233
|
||||
8434432236341443628422391263414236223173333438544421383847216542247624123365692613327333754535435243
|
||||
2652624354532763656244344355474341443223256424648253744256344172555215334857439454543663333134287743
|
||||
7357546615466634433443573336674233554454227313242344244643244344333737543646731174537524373356531242
|
||||
3882559275526542566532556564565255286724325665653727346734533476221733134455246561852322323591516576
|
||||
3324342323323336353363233333732313323231313334372252133122122234113412132333334313332222532323223225
|
||||
5648657452244467531938536766623967836658674751368875384543688794429466647543224146436626426786644693
|
||||
2411225564532222522462422431622243322531264124234153152144352424234215122353341233123232124224322412
|
||||
4222244444245423522434212441442345545135432342122442441444525244242542243333244443342525244434443233
|
||||
5465435555966664455444553336236556663724633434394665343662439454644352635444663948624664445224246545
|
||||
1432453433446393425346434245514432413453343353335242445434336552234231531543533443435374425324412252
|
||||
4336572233323134323444342354334334547453436543544333344444244423543543446437732361245333334265334454
|
||||
2676766556687553276876274579178576652387264737666476787497543476721452354347415279755657774467276664
|
||||
3344333322223432324242213231632223223333213221422323132323234522231323442233323232652233323314343254
|
||||
5563746886467958543795793558734554479385547744827467647476986636777562776695684678649689788685475659
|
||||
4422233522213432344333343133223123212233443434622344344322413411423122322312245323212232213242242334
|
||||
3344622322422423222243244224214432442336424334262521443223343322633135324463233412322314233512534242
|
||||
3232321712232121212212223232262552223244112235142362365223332222223233326336552241222145222222346264
|
||||
3644565538765869435533562635188694756636566645546767565399364946666665237666774651366664976963675667
|
||||
3945556445535346464334234433543343373464435445544534644436433274645292244533433356524354433344444545
|
||||
7645578859533418887755944347764436445126484186538387754736853734354838367544543436534748684774783975
|
||||
3786228343532223264261123222243523734242633532221216324264146232126342128444245322552455433862432252
|
||||
3251222222232911232222524222252222712222233112242222616232212123322221232313232223322352121221323322
|
||||
2322412234122243452551332442313522545253525222141114353732322522222362422214234542222221526225248214
|
||||
7565676654727668574665556666175766566653667465455626664555633676543465675755666645565566654645555666
|
||||
4745721722122215757215622524727444256942348717545353274725745555453234444732572254326652534437222662
|
||||
2434234123332521432433543122343412453334142442174323244323362343446443234344334334354343424444332232
|
||||
3232225263124251225251532224272298324231133226834123663224252253227733325232824571222312832152243222
|
||||
4443433336334445343343443432444434233334443432343675433321474334363243423234444421427442373432424444
|
||||
2528622135624531665357334382325366524622274846326245252623632442931344344686553345516652263563563344
|
||||
2233212123232112331212212222223222322132233322232222333122212232232213252322223342152221232232153323
|
||||
3133337557443333234243434633433322467325333343756334453343333343334453353334535324423334573349344364
|
||||
8497925152935233732523223852696633133816242673326874262931173827238284722131232527573292228932314729
|
||||
3242443243122343443133222435222312213214254283123234336231616434325123223631342644222542343253421533
|
||||
6443257368735277857353954743366633958737346734243626663752259329635337635643425367875165555749634736
|
||||
3433332441231132312432441432211144132311432432231312123131111112123341214231141341112433433331156789
|
||||
2622332343221232241335222222343332212234322252243322233242346312122233223332323222522223321422422322
|
||||
3972265296526213223133522588332357758222292253177621632572233246643332363736661578228493422762563226
|
||||
3494543445353433344448833521556833234423324452636533255257543455344342646458333443532535343444535334
|
||||
4676538343538565343353455455553967756631663666538333674336345766835335653396563345373429866382636544
|
||||
1222122232121223223233122132331222283232113222252242322332231112122222233223213322222122233232223222
|
||||
3134225414344236633244332422122644572337356413663633373234446446364474243446624549545245762435276634
|
||||
4222142222214222251664242724292122312222212123222222225421642233224112222741229323222124224111122122
|
||||
2373328274625382475124241922213111252123435232222322722252219331232224234142526234272123515129242232
|
||||
5544543358645255454724445444345446544442344445352244347365654443463433245543454444353535644445224224
|
||||
4446655724343346755425544416598555246352254245425544865646452382644844876664355544234743251446442933
|
||||
2112222232125222222222321222222125222221332222221122211221222122222223422211322222222222122542221222
|
||||
3222323622235231222312323333133223323222322422321333122322213732212322322123221122222212222223232213
|
||||
1122224322322232223221622226223121122452222542523122322252222432123323412223212242132353212222222222
|
||||
4333425336554443454458124553525366364236624352255426246366354563663525636534335863554452324546366625
|
||||
2146233244324244314449343222474432322242443224532323142483226244332354232334122548734374243933442774
|
||||
1332324245522322224234221212322221322283263213352122222222223521262222512212512222243231281223322222
|
||||
1223143223364224122222353333332422222225222432243232332343223239233333211222333322223223324321124224
|
||||
3464487424246534432675344132562554213223266443252443444444574323726424344834421627245244334534456235
|
||||
2223221222123311232222721212232421222222242241226222232312215222231223124321332442545132213222223222
|
||||
2232342333222225413224224234232122232222332332233823312322233222233423321322333232321622333132226212
|
||||
4233234343136422333221334434324433422433423224244234622242332313427433524233223522242345255442443343
|
||||
5887315931336232922652422972482265594294593395515537627975525242715825417429226928725375224464921127
|
||||
6656885665436489796564766657452646775784788585557613664375576543655367345676363664456676364565656665
|
||||
2322423242232241161422432223231221222221621422252222222322338333221232122213331212249343212133328423
|
||||
7543345463444634356562266635446632182453232355315333571457578355735657643433234412544433664576626623
|
||||
3234222143232332434132232223223222432233233224332212442243323242222433423323322332227222624354421352
|
||||
2132422513522232316232332233232532324232635222425433224522251242225332211222621455223212442432451421
|
||||
5326232325252326521226524346423521176572132222254322754222123162226227224426253652326256245561222565
|
||||
3442424243423144141423336561332225163336641334145422622623522532559424623252225433152324126546235233
|
||||
3422321224221314732123313232523126612213222122324334223423342252222433232133212323322223142322221242
|
||||
8264442752223446994865726277726727756343878473857483728256427474473632713865355533668957575367786675
|
||||
2354836226222532428425542623362343536646226212222532351332434562123232223452424227655641632221762233
|
||||
5664534552344446442444537443454546344244645454436456146563415422332464433456443445643424314646346634
|
||||
6463565542544255264485555545353644246556635644484654644555446454435673446655443555732565945656567236
|
||||
6355655665527692545684584653566652554819768774545765878425567322656664568624656574587564574572366385
|
||||
3234635425722737232252335242266522272537232322282236835677286645635172541234473773221373163223424634
|
||||
2242354522559228525413357172723135198226136232442322256572434325143963523321922328233243342344645272
|
||||
1222322222223222132223222153211223323222212133524121121132122221225322222223345222222325225212222522
|
||||
1233232223244415224123423222313272242282263533254422322211232222221522232222232231321222432222132322
|
||||
4554634644453466369563686376545543644474635669644434556646363654657434543464664436534656334934456564
|
||||
2759365842345327331433223323933692623533364924333372274833594632288683535939326332224122731332325133
|
||||
2236245252222212216122226252225422322222929211213522328122221622222332223222211312251262422221363711
|
||||
2322219151212838742722222831242221612121221442128322212621262222224222272222212241214121228225222235
|
||||
8654666752657568667665843686673568558727666766668546662365484318268665555864884585768766545657476766
|
||||
4323662222424553233338223355533524329375214455362223863532553356156646364581336234636322666463164321
|
||||
2251222221132121212222222222323221122212227212222112232522512212211125221121232222222222121512222222
|
||||
8335363283543566442636253665533444335323131413453535433332353253126334234443246535465333443767534445
|
||||
4351244143435244333421443343412434324224347231545244278455457334255232446544244442334345864522323554
|
||||
6423477564644426547555464455945555345254457454754445593334544343756445554584764334355754436735534375
|
||||
3326244234233341332632432332423551339222222343325373415334342321533123222323332331523632331924343233
|
||||
2322222212222425432122222232222221624312222223233121124222221222122333222222334233224222124122222242
|
||||
8251448334422852181781163234764634754342482156661134615731214484221431832655823545764714858131321319
|
||||
6665545676626665656565454566656674652665656532943465954566556559666556665444696669565976665645666566
|
||||
1421443224322321222223232132222322523422273223221226324223622234313152242214232212214122122122223122
|
||||
5723366361747394534563454393673232443632544354432566235442477666343636365464734433344454232365277632
|
||||
4326724434644345272343434636222544564528544653524234333435432725367686233125243347543233538354734535
|
||||
6413258266442636453636253232443235232151532243562512524323414232335225232525322536245321442222433234
|
||||
3344315434434335222444645333534323252552525223654424445134123324235475533333754254334434412464433436
|
||||
2322363422225726126633232313332242431333635246316294232723332253223524432225353672642232346223452424
|
||||
3324142234845637532347244733333464724844532372247332342332534454443223343733332451453641733332337247
|
||||
7337536327433333523313232233333335663462235342527341215333333312353133231533355312234437581223433313
|
||||
6864534546668468595746496547766759676656466556436588644845499637688686773646793563465569745692643655
|
||||
3355252311225229253132526372333323468222222462232352123343323153225532334523432412324422225412324253
|
||||
4741456744554566558585637656545845844939484345384344956545565448427473734546453346746455365647546644
|
||||
4322411232232333223322333242422422422349221123222244332252135132232321363391342331221133233242112322
|
||||
9474349344693856956976575499438338936763458744948576959895532598674748534597986884674856393374467595
|
||||
1523633734318365434557152166343555421587416555334154526346464574453744545413624314233574254324333338
|
||||
7434822223365329743422655982332652199724488556213687413364776632715225357925244447743972634262467445
|
||||
3311715122232222222352222253152252223212121622212222224127222252241242312142212272222325636223122112
|
||||
|
|
@ -0,0 +1,243 @@
|
|||
#!/usr/bin/perl
|
||||
use strict;
|
||||
|
||||
my $sum = 0;
|
||||
|
||||
while(my $line = <DATA>) {
|
||||
chomp($line);
|
||||
my @digits=split(//, $line);
|
||||
my @p;
|
||||
my $largest = nextpartR([], \@digits);
|
||||
print "Bank largest is $largest\n";
|
||||
$sum += $largest;
|
||||
}
|
||||
print "Sum is $sum\n";
|
||||
|
||||
|
||||
|
||||
sub nextpartR {
|
||||
my($ref, $remain)=@_;
|
||||
|
||||
if(@$ref == 12) {
|
||||
my $num=join('',@$ref);
|
||||
return $num-0;
|
||||
} elsif(@$ref + @$remain < 12) {
|
||||
return undef;
|
||||
}
|
||||
|
||||
for(my $largest = 9; $largest > 0; $largest--) {
|
||||
my @cp = @$remain;
|
||||
my $result = 0;
|
||||
while(@cp) {
|
||||
my $num = shift(@cp);
|
||||
next unless($num == $largest);
|
||||
my $r = nextpartR([@$ref,$largest], [@cp]);
|
||||
if($r > $result) {
|
||||
$result = $r;
|
||||
}
|
||||
}
|
||||
return $result if($result>0);
|
||||
}
|
||||
}
|
||||
|
||||
__DATA__
|
||||
6483266694748235893324353634344523834567333718239477213324541343624714732212276727733744455653544463
|
||||
2543337317334342631273222374427553353272735227457653731534224733335623431363332212323533535333423775
|
||||
1171775673654754637242647675223455221523371731424421454256532546527447416736647162614542361475612389
|
||||
7567565743232354274324358254636933332327665424362432136332633378463931143733733333654177443634254225
|
||||
3667833563742535642357424443583444433164255464664643343695632444543476364514454626548444625765354499
|
||||
2729241222329123457422528225142242286297497441472728464675615243626217526319294335298622221564523151
|
||||
2325333232221221424422233712312233332414242223244343332373222423342332223232222224323113324424134121
|
||||
3544334476455533445454545534445436354424551344431543444135385564453544474354339443944434454242338755
|
||||
6923523553724555826545455454545465563455525532385543558554555555235643434455534555456645559345424222
|
||||
3713331131214132232632357628271236732756335334225557312633533322223433322332227173323322633433254922
|
||||
5542244352122346423342223444284353436224323233344224255121322454331242716436354234143274135135334244
|
||||
7162743447536295246796527676468385557236589519624462613223526836654621342279883474452325226263273139
|
||||
4471332775232839457784856429322785267271415576235256224744379223362354163425322422353251335223748294
|
||||
4346211424422222426522412332342223124232433521222212522622224522222322922122242321289322241212612248
|
||||
3933333344435332633335343333326333324324321343333324332323334233633323232443433333433133293233343433
|
||||
6585685274872474256868558658651539948458889788546584884556944395687334789354443387445242654964945955
|
||||
3444423533535542244342273333734333465764442334363243233342554334835822354446554325635232363334544548
|
||||
2563356752365526724855523276722277363574179457365743447387745757634578562526634617646444554863768526
|
||||
2242522423343223422432453234862232223322221132313423324224232226324222322292214127211224412315341423
|
||||
2225142225732522238462261322432443222172541743212222131225232222324223225172352623222125222226242212
|
||||
2323363432242323342311333232252133323413248233531234343423351422344524534342435211444332343233439442
|
||||
3124262532255282347432332294321135222362424972252223112182152324318322321252222112253222225322411222
|
||||
2245334552331524253681344534348345442133513353454238459543534745465382334735454123343442423442443934
|
||||
3322422222222223122222222222224221222112222232222222223522323121222213122222121223422232122222131232
|
||||
7236535664653565535465635366422265436332242234453634547553232665533563443734353355633544265445562333
|
||||
3362228222422133327322222772233322323532313242322212322242351322234225224213233542333144332333732232
|
||||
5342533334512341534142525424221433122414422241514334245311143541342335344222332112111535425322226789
|
||||
2222243214211225332122232722325213322322423225222332422243224322212131234322342411431242521333111132
|
||||
2431332622213122222213323233222342233233313224232242324234213522233121413222432153323432413214232234
|
||||
2632254426445554463233675543663354252364264273442465369374465344265346322555224345426232653752624455
|
||||
2224252122263212222122242313222322625222114243221342222222324122326121222213253142212212212332122364
|
||||
5674534466565636646662676545665534646635666365564665664467564666456654668593362444446744666554554766
|
||||
2454222496229621242121264211225262657254244599227752543642596753262384425725522523262558272113785222
|
||||
4333432323883373233343244735353323242136522336393337312342133733333737585447336353334312334233239323
|
||||
3332433332632332242243333552322345444322433333345334432744333233323424132333334222323463833284523413
|
||||
3225241811225112222441225224646162357422421132224244342443617633253321224223252264222625752131322232
|
||||
4142322221482422527722132262152123222226422234241226221372232422324226232222221444222443222222442221
|
||||
2122112112142212212211232121221222211222212222312234222222211232222222223222222322212322121221222122
|
||||
2222222124223222212223224331223222222326242213312222222222212213224221233221321222322222212132351222
|
||||
2215272212212212522332314222232521222232222521242222212531222352522312512221122423322312132252251622
|
||||
5436526445378684424444568445542446553648689488566256934745476233465425455768458459649634966485652754
|
||||
1422422222243422422522234212312441122422233132242233322231331227221441425221242224221242222412312228
|
||||
8231222334221221741123232222232152322232315112422323221722322421322352323271121232312214124212232323
|
||||
3325242234162322342135122233155454333332422322233455243222233323823223332142212313335332223241223333
|
||||
4355434445222544414334245223344754544163753444544243558755432234535445443344142335537441342345446474
|
||||
1336312223124525222322223222222213232342243323253221361234446112263212426251322332225112221253222233
|
||||
5367888866834536575377596677847443874839579585537663878498345777388579874847657388547557778388818978
|
||||
2222213321112122221111232422112222122223221312311222222131322332212322122322131232232132131222232123
|
||||
3319333223232123222212223528122362522252273222226227732322322223232422222422522322431371432222222232
|
||||
4355789657548436447545456596283356475869755625945566544654679445655355546846875533957745363857553589
|
||||
5235225434349223431221222424313242712267423544361221222222432412229272243123723224342524222212632342
|
||||
2232231222122221223724222422222125252223122321222232251223222222222224322222453212121222223341222221
|
||||
5335333343343333323223232734333333233333332333333333311333333333443133231163334332323332333334323463
|
||||
4255625361645633666646124144326161525216345554523444653556146322361311515343261335365113243661233789
|
||||
7638667436624684272673416624275555636244728456452876428697425422424259567247763874791543766747372775
|
||||
3141123121222122233433211221222322221415211223222232222112221323222222214312412312222222224222232225
|
||||
3263325433434645353436644264134498453455335834345444242346367354926234874355635644547423347374434443
|
||||
1332323273353313234322223334314333332133731353332373323223327333323323333626322347333682322332333333
|
||||
6463656765552554543425465563446455656563555455545563554535554853535655545655553548556745535538457455
|
||||
3342333133334332433231323232223333333232392232332442322331233333322132423632422282238312383323333223
|
||||
2239121232221122222221642224222152222112223221122212232325422521124212442231223242222313522422121283
|
||||
2222162222222172222222221221112262132323112222323212421222222132226231222222212223222222244222123222
|
||||
3187737233433234335276133212333147245233337362234333126333243134333353227422213242224252522627332123
|
||||
4532432376547655675765547764667466877716765473677694554655366743365573554745575736644564576556965855
|
||||
5336333374522244425439832113542436353233123232543534342335224132212125323322653232232223233343633562
|
||||
3632763655342634236354433162354345234437531354343564134386374437451476636364473437247454232643345433
|
||||
2231322422125242242122214222222172122214222122312252221222122224422124322222221124232222222223323411
|
||||
4343242244223252454116323222222111124322221422152322522621242252333283221223253422441354223225232353
|
||||
4733234344423243544433655552447441554644654354445433232534534522144534453434484123596594534564235243
|
||||
2242324335312322343323333334222223513523322413323133534352324433233334433334523233232323522432213223
|
||||
5664154336445666586466665822868667436646448646574566655654531564345646667566564366565356566454565463
|
||||
2243624221242162522322171325223532451332126472211123222274224334222223233422226221632322231422123222
|
||||
2121232232222332233332222222232212222222112242252122322422123222231132122222112341222122231211212221
|
||||
2222222223222113222232322222312221142322223333121222322232313322424222322123223422112223222233222313
|
||||
3351253554553235543435435432424433436649153196594374552542143345255545443494452444446455436234367546
|
||||
3241224772334661376724457242123523612145222752236442126633762256448232425611684252244225134252684324
|
||||
2569464654525636566535646646266655647666486763585683566656464486544667656654644644156667676243666586
|
||||
2382324222332222244447232233322572322223243222221422219222231322231222825162123922527332212224313325
|
||||
4633421245214332232234444426324243423431225513232342433322223132534212323224133342293321242423313354
|
||||
3323223252712538235234333613421472592337232341221333327923237322346131321733378124233222143331214389
|
||||
3441456554443634514434423348343244343334414934354346374444442443564645424565443953442444433244236443
|
||||
2226222221322152342212272622211121325743254222221223332232112221342243132232216242223232624232232422
|
||||
3232342241212243222423423313121222234241243233523322353433163322325322332323213232233223322232321413
|
||||
3221652432352232564241242242231524222224261231215352244222532554255152242567243221427245211124252222
|
||||
2221222142213111212222222424162222132252224222122225222284322224321162524312222211122221122142222221
|
||||
5335313543133432353344723323322346313732352334545142262332335133633433644233333634335235333543323354
|
||||
5434564663455635666754354454454453465541545545544555553554533454535435555364353343555566354544455145
|
||||
5252551148532423644724269592229555342433225273533524123134724325552532324348213234824252373335427325
|
||||
5856686513557539652366563544665675566443674579553566479656787777665534667354446457256657667864556465
|
||||
1251222232221231222223222222233222213331222222322211322222212221223222322322222212122222233322212422
|
||||
8458546645558756745657566656465566564565865555466745554556556676565786666556555665553658656585655556
|
||||
3432323239345643435333333333332353333337432343243633334253752353233342224334553333233313333393533553
|
||||
3421422362212422252232633328842222332323633222322233112336322321234523223222522222222424222233334231
|
||||
2123625336322625334512112243442224543555521424235253452532153223126465623551122254443224432523453525
|
||||
4122221543722232275516326144842223112823224222231222221122124222222262152221411322244125746222356778
|
||||
2322422222224122243424226322344835262425252111121223451222223234432162221226222212242213222633127233
|
||||
8434432236341443628422391263414236223173333438544421383847216542247624123365692613327333754535435243
|
||||
2652624354532763656244344355474341443223256424648253744256344172555215334857439454543663333134287743
|
||||
7357546615466634433443573336674233554454227313242344244643244344333737543646731174537524373356531242
|
||||
3882559275526542566532556564565255286724325665653727346734533476221733134455246561852322323591516576
|
||||
3324342323323336353363233333732313323231313334372252133122122234113412132333334313332222532323223225
|
||||
5648657452244467531938536766623967836658674751368875384543688794429466647543224146436626426786644693
|
||||
2411225564532222522462422431622243322531264124234153152144352424234215122353341233123232124224322412
|
||||
4222244444245423522434212441442345545135432342122442441444525244242542243333244443342525244434443233
|
||||
5465435555966664455444553336236556663724633434394665343662439454644352635444663948624664445224246545
|
||||
1432453433446393425346434245514432413453343353335242445434336552234231531543533443435374425324412252
|
||||
4336572233323134323444342354334334547453436543544333344444244423543543446437732361245333334265334454
|
||||
2676766556687553276876274579178576652387264737666476787497543476721452354347415279755657774467276664
|
||||
3344333322223432324242213231632223223333213221422323132323234522231323442233323232652233323314343254
|
||||
5563746886467958543795793558734554479385547744827467647476986636777562776695684678649689788685475659
|
||||
4422233522213432344333343133223123212233443434622344344322413411423122322312245323212232213242242334
|
||||
3344622322422423222243244224214432442336424334262521443223343322633135324463233412322314233512534242
|
||||
3232321712232121212212223232262552223244112235142362365223332222223233326336552241222145222222346264
|
||||
3644565538765869435533562635188694756636566645546767565399364946666665237666774651366664976963675667
|
||||
3945556445535346464334234433543343373464435445544534644436433274645292244533433356524354433344444545
|
||||
7645578859533418887755944347764436445126484186538387754736853734354838367544543436534748684774783975
|
||||
3786228343532223264261123222243523734242633532221216324264146232126342128444245322552455433862432252
|
||||
3251222222232911232222524222252222712222233112242222616232212123322221232313232223322352121221323322
|
||||
2322412234122243452551332442313522545253525222141114353732322522222362422214234542222221526225248214
|
||||
7565676654727668574665556666175766566653667465455626664555633676543465675755666645565566654645555666
|
||||
4745721722122215757215622524727444256942348717545353274725745555453234444732572254326652534437222662
|
||||
2434234123332521432433543122343412453334142442174323244323362343446443234344334334354343424444332232
|
||||
3232225263124251225251532224272298324231133226834123663224252253227733325232824571222312832152243222
|
||||
4443433336334445343343443432444434233334443432343675433321474334363243423234444421427442373432424444
|
||||
2528622135624531665357334382325366524622274846326245252623632442931344344686553345516652263563563344
|
||||
2233212123232112331212212222223222322132233322232222333122212232232213252322223342152221232232153323
|
||||
3133337557443333234243434633433322467325333343756334453343333343334453353334535324423334573349344364
|
||||
8497925152935233732523223852696633133816242673326874262931173827238284722131232527573292228932314729
|
||||
3242443243122343443133222435222312213214254283123234336231616434325123223631342644222542343253421533
|
||||
6443257368735277857353954743366633958737346734243626663752259329635337635643425367875165555749634736
|
||||
3433332441231132312432441432211144132311432432231312123131111112123341214231141341112433433331156789
|
||||
2622332343221232241335222222343332212234322252243322233242346312122233223332323222522223321422422322
|
||||
3972265296526213223133522588332357758222292253177621632572233246643332363736661578228493422762563226
|
||||
3494543445353433344448833521556833234423324452636533255257543455344342646458333443532535343444535334
|
||||
4676538343538565343353455455553967756631663666538333674336345766835335653396563345373429866382636544
|
||||
1222122232121223223233122132331222283232113222252242322332231112122222233223213322222122233232223222
|
||||
3134225414344236633244332422122644572337356413663633373234446446364474243446624549545245762435276634
|
||||
4222142222214222251664242724292122312222212123222222225421642233224112222741229323222124224111122122
|
||||
2373328274625382475124241922213111252123435232222322722252219331232224234142526234272123515129242232
|
||||
5544543358645255454724445444345446544442344445352244347365654443463433245543454444353535644445224224
|
||||
4446655724343346755425544416598555246352254245425544865646452382644844876664355544234743251446442933
|
||||
2112222232125222222222321222222125222221332222221122211221222122222223422211322222222222122542221222
|
||||
3222323622235231222312323333133223323222322422321333122322213732212322322123221122222212222223232213
|
||||
1122224322322232223221622226223121122452222542523122322252222432123323412223212242132353212222222222
|
||||
4333425336554443454458124553525366364236624352255426246366354563663525636534335863554452324546366625
|
||||
2146233244324244314449343222474432322242443224532323142483226244332354232334122548734374243933442774
|
||||
1332324245522322224234221212322221322283263213352122222222223521262222512212512222243231281223322222
|
||||
1223143223364224122222353333332422222225222432243232332343223239233333211222333322223223324321124224
|
||||
3464487424246534432675344132562554213223266443252443444444574323726424344834421627245244334534456235
|
||||
2223221222123311232222721212232421222222242241226222232312215222231223124321332442545132213222223222
|
||||
2232342333222225413224224234232122232222332332233823312322233222233423321322333232321622333132226212
|
||||
4233234343136422333221334434324433422433423224244234622242332313427433524233223522242345255442443343
|
||||
5887315931336232922652422972482265594294593395515537627975525242715825417429226928725375224464921127
|
||||
6656885665436489796564766657452646775784788585557613664375576543655367345676363664456676364565656665
|
||||
2322423242232241161422432223231221222221621422252222222322338333221232122213331212249343212133328423
|
||||
7543345463444634356562266635446632182453232355315333571457578355735657643433234412544433664576626623
|
||||
3234222143232332434132232223223222432233233224332212442243323242222433423323322332227222624354421352
|
||||
2132422513522232316232332233232532324232635222425433224522251242225332211222621455223212442432451421
|
||||
5326232325252326521226524346423521176572132222254322754222123162226227224426253652326256245561222565
|
||||
3442424243423144141423336561332225163336641334145422622623522532559424623252225433152324126546235233
|
||||
3422321224221314732123313232523126612213222122324334223423342252222433232133212323322223142322221242
|
||||
8264442752223446994865726277726727756343878473857483728256427474473632713865355533668957575367786675
|
||||
2354836226222532428425542623362343536646226212222532351332434562123232223452424227655641632221762233
|
||||
5664534552344446442444537443454546344244645454436456146563415422332464433456443445643424314646346634
|
||||
6463565542544255264485555545353644246556635644484654644555446454435673446655443555732565945656567236
|
||||
6355655665527692545684584653566652554819768774545765878425567322656664568624656574587564574572366385
|
||||
3234635425722737232252335242266522272537232322282236835677286645635172541234473773221373163223424634
|
||||
2242354522559228525413357172723135198226136232442322256572434325143963523321922328233243342344645272
|
||||
1222322222223222132223222153211223323222212133524121121132122221225322222223345222222325225212222522
|
||||
1233232223244415224123423222313272242282263533254422322211232222221522232222232231321222432222132322
|
||||
4554634644453466369563686376545543644474635669644434556646363654657434543464664436534656334934456564
|
||||
2759365842345327331433223323933692623533364924333372274833594632288683535939326332224122731332325133
|
||||
2236245252222212216122226252225422322222929211213522328122221622222332223222211312251262422221363711
|
||||
2322219151212838742722222831242221612121221442128322212621262222224222272222212241214121228225222235
|
||||
8654666752657568667665843686673568558727666766668546662365484318268665555864884585768766545657476766
|
||||
4323662222424553233338223355533524329375214455362223863532553356156646364581336234636322666463164321
|
||||
2251222221132121212222222222323221122212227212222112232522512212211125221121232222222222121512222222
|
||||
8335363283543566442636253665533444335323131413453535433332353253126334234443246535465333443767534445
|
||||
4351244143435244333421443343412434324224347231545244278455457334255232446544244442334345864522323554
|
||||
6423477564644426547555464455945555345254457454754445593334544343756445554584764334355754436735534375
|
||||
3326244234233341332632432332423551339222222343325373415334342321533123222323332331523632331924343233
|
||||
2322222212222425432122222232222221624312222223233121124222221222122333222222334233224222124122222242
|
||||
8251448334422852181781163234764634754342482156661134615731214484221431832655823545764714858131321319
|
||||
6665545676626665656565454566656674652665656532943465954566556559666556665444696669565976665645666566
|
||||
1421443224322321222223232132222322523422273223221226324223622234313152242214232212214122122122223122
|
||||
5723366361747394534563454393673232443632544354432566235442477666343636365464734433344454232365277632
|
||||
4326724434644345272343434636222544564528544653524234333435432725367686233125243347543233538354734535
|
||||
6413258266442636453636253232443235232151532243562512524323414232335225232525322536245321442222433234
|
||||
3344315434434335222444645333534323252552525223654424445134123324235475533333754254334434412464433436
|
||||
2322363422225726126633232313332242431333635246316294232723332253223524432225353672642232346223452424
|
||||
3324142234845637532347244733333464724844532372247332342332534454443223343733332451453641733332337247
|
||||
7337536327433333523313232233333335663462235342527341215333333312353133231533355312234437581223433313
|
||||
6864534546668468595746496547766759676656466556436588644845499637688686773646793563465569745692643655
|
||||
3355252311225229253132526372333323468222222462232352123343323153225532334523432412324422225412324253
|
||||
4741456744554566558585637656545845844939484345384344956545565448427473734546453346746455365647546644
|
||||
4322411232232333223322333242422422422349221123222244332252135132232321363391342331221133233242112322
|
||||
9474349344693856956976575499438338936763458744948576959895532598674748534597986884674856393374467595
|
||||
1523633734318365434557152166343555421587416555334154526346464574453744545413624314233574254324333338
|
||||
7434822223365329743422655982332652199724488556213687413364776632715225357925244447743972634262467445
|
||||
3311715122232222222352222253152252223212121622212222224127222252241242312142212272222325636223122112
|
||||
|
|
@ -0,0 +1,189 @@
|
|||
#!/usr/bin/perl
|
||||
use strict;
|
||||
|
||||
my $totalsum = 0;
|
||||
my @rows;
|
||||
while(my $line=<DATA>) {
|
||||
chomp $line;
|
||||
my @row = split(//,$line);
|
||||
push @row, '.';
|
||||
unshift @row, '.';
|
||||
push @rows, \@row;
|
||||
}
|
||||
|
||||
my $tr = $rows[0];
|
||||
|
||||
push @rows, [ map { '.' } @$tr ];
|
||||
unshift @rows, [ map { '.' } @$tr ];
|
||||
|
||||
for(;;) {
|
||||
my @remove;
|
||||
my $sum = 0;
|
||||
|
||||
for(my $y=1; $y<@rows-1; $y++) {
|
||||
my $uprow = $rows[$y-1];
|
||||
my $row = $rows[$y];
|
||||
my $downrow = $rows[$y+1];
|
||||
|
||||
for(my $x=1; $x<@{$rows[0]}-1; $x++) {
|
||||
next if($row->[$x] ne '@');
|
||||
|
||||
my @n = (@{$uprow}[$x-1,$x,$x+1], @{$row}[$x-1,$x+1], @{$downrow}[$x-1,$x,$x+1]);
|
||||
my $count = grep { $_ eq '@' } @n;
|
||||
if($count < 4) {
|
||||
$sum++;
|
||||
push @remove, [$y, $x];
|
||||
}
|
||||
}
|
||||
}
|
||||
$totalsum += $sum;
|
||||
if($sum == 0) {
|
||||
last;
|
||||
}
|
||||
foreach my $ref (@remove) {
|
||||
my($y,$x)=@$ref;
|
||||
$rows[$y][$x]='.';
|
||||
}
|
||||
print "Found $sum\n";
|
||||
}
|
||||
|
||||
print "Got a total of $totalsum\n";
|
||||
|
||||
__DATA__
|
||||
@@@@@.@@@@@@@.@.@@@.@@@..@@@@@@...@...@@...@@@@@@@@.@@@@@@@@@@@@@@@@@...@@@..@@@.....@..@@@@@.@@@@...@@@@@@@@@@@@.@@@@@@.@..@@@@@..@.@@..
|
||||
...@@@.@@@..@@@@..@.@..@@....@@.@@@.@...@.@@@...@@.@@@..@@@.@@@..@.@@.@.@.@@..@@@@@..@@@@.@@@@.@@.@@@@..@@.@@.@@.@@@@.@@.@@@@@@@@.@.@..@@
|
||||
@@.@@@@@@..@@..@@@@@@.@@@@@.@..@@@@@@@.@.@@.@..@..@@@@.@@.@@@..@@.@@.@@.@.@@@.@@@.@@@@@@@@.@.@@@@..@@@..@@@.@.@.@@@@.@@@@@@@@@@..@...@@.@
|
||||
.@@@@.@@.@@@.@@@@@@@@@..@.@@@.@@@.@@@@@@.@@@@.@...@@@..@@....@@@@.@.@.@@...@.@@@..@@@.@@@@@@@@@@@......@.@@@@.@@@@@@.@..@@@@.@.@.@.@@@@@.
|
||||
@@@@@@@.@@..@@@@@@.@@@@@.@@@..@.@@@@.@@@@@..@@@@@@@@@@@@.@@@.@@@.@@@.@@@.@.@.@@.@..@@..@@@@..@.@@.@.@@......@@@.@.@.@@...@@@@@.@@@@@@@.@.
|
||||
.@...@..@@@..@@@@@@@@.@.@.@.@.@@.@.@.@@.@.@@...@..@.@.@@@.@@@..@@@@@@.@@@@..@@.@.@@.@..@.@@@@@.@@.@..@@@@..@@@@@.@@@@@.@.@@.@@@..@...@@.@
|
||||
.@.@@.@..@.@.@.@@@@@.@.@@@@.@.@@@@..@@..@..@.@@@.@@@.@@@.@.@@@.@..@@@@@@@@@.@@@@@@.@@@@@@..@.@@@@...@.@@@@@@.@.@@@@@@@@@@@@@@@.@@..@@@@@.
|
||||
@@@...@.@@@.@@@@@@.@@@@..@@..@@.@.@@.@..@@.@...@@@.@@@.@@@.@.@@@@..@@@@.@@.@@@.@@@.@.@..@@.@@..@@@@@@@....@@@@@@@@@@@.@..@@.@.@@@@@.@@@..
|
||||
@@@.@@.@@...@@@@@@@@@@@.@...@.@...@@@@...@@@@@@@.@@....@.@@.@..@@.@.@.@.@...@@.@....@@..@..@.@@@@@..@@@@.@@@@@@..@@.@@.@..@@@@@@@@@.@@.@@
|
||||
@@...@@@@@@.@.....@@@.@@@@@@..@.@.@.@@@.@..@@@@@@.@@@@@@@@.@@@@@.@@.@.@..@...@....@@@.@@@..@@@@@@@@...@..@@@@@@.@@@@@@.@@@..@@@@@@..@.@@.
|
||||
@@...@@..@@@@@...@@@@@.@..@.@..@@.@.@...@.@@@@@@@@@@.@...@@..@@@.@@@@..@@..@...@@@...@...@.@.@.@@..@@@.@@.@@@@@@@@.@@@@@@@@...@.@.@@.@@@@
|
||||
.@@...@@.@.@@.@@@.@.@@@..@@@@@@.@.@@..@@...@@.@..@@..@.@@@.@@@@@@@@.@@.@@.@@@@@@@..@@@.@@..@@@@.@.@.@.@@@@.@@.@.@@@@@@@@..@@@@.@@@@..@.@@
|
||||
@.@.@@@@@.@..@@.@@....@.@@.@@@@@@@@@@.@.@@@.......@@@@.@@..@@.@@.@@@.@@@@@@@@.@.@.@.@@@.@@@@..@....@.@@@@....@...@.@@.@@@@..@......@@..@.
|
||||
@....@@@@@@@@@@@@@@@@@@.@...@@.@@.@@@@@@@@.@.@@@@@@@.@@@@@@.@@@@@@..@..@@..@....@..@@@@..@@@..@@@@.@.@@@.@.@....@@.@@...@@.@.@.@@@@.@@@.@
|
||||
@.@@@@@.@@@@..@@..@@@@...@@.@@@@@..@@.@@@@@@@@@@.@@@@@@@.@..@.@@.@@..@@@@.@@@@.@@@.@.@..@@@.@..@@@.@.@@@.@@.@@.@@..@@@@@.@..@@@@@@@@@@@@.
|
||||
@@@@.@@@@@.@@.@@@@@.@@@.@@@.@@..@@@@.@@@..@.@.@@@@...@@.@@@.@@.@.@@@@@@.@.@@@@@@@..@@@@@@..@@@.....@.@.@@@@@....@.@@..@.@@..@@@@@@.@@@@..
|
||||
@.@@.@@@@.@@@@@.@@.@@@@@.@...@@@.@@@@.@.@.@@@@@.@.@@.@@@@...@...@..@.@.@@@.@@@@@.@@@@.@.@@@.@@@@@@.@@@.@.@@@.@@@@..@@@.@@.@@@@@@@.@@@@@@@
|
||||
...@.@@.@@@@.@@.@@@.@@@.@..@..@@..@@@.@@@.@.@.@.@@@..@.@@@@.@@.@@@@@@@@@..@@.@@@@@..@@@@..@@..@.@@.@@.@@.@@@..@.@@@@.@@@@@..@@.@@.@@@@.@@
|
||||
.@@@....@...@@@@.@.@.@.@@@..@..@@@@@.@@@..@.@@.@@@@@@.@@@@@@@@@@@..@.@@...@@.@..@....@.@@.@@@..@..@@@@@.@.@.@.@.....@@.@@.@@@@.@.@@@@@@@.
|
||||
.@@.@.@..@@.@..@..@@@.@@@@@@.@@@@@@.@.@.@@.@@@.@..@..@@..@@.....@@@....@@@@@..@@@@@@....@@@...@@.@...@@@.@@@@.@.@@@@.@@@@@.@.@@..@.@@@.@.
|
||||
.@@@@.@@.@.@......@@@@@@@.@@.@@..@@@@.@@.@@@@@@..@@@.@@@..@@..@.@@@@@..@......@..@.@.@..@@.@@@.@.@@@.@@@.@@@..@@@@@@..@@@@@@...@@@@@@@.@@
|
||||
..@@.@@..@@@..@...@@.@@@@...@@@.@@@@.@@@..@@@.@@@.@@@@.@.@...@@@@@.@@...@@.@@@.@@@@.@@@@@..@.@@@@@@@@@@@..@@@@@@..@@@.@@.@.@.@@@@..@..@@@
|
||||
.@@@@.@..@.@@@..@@.@..@.@@@.@@.@@.@.@..@@.@..@@.@.@@..@@@@...@.@@@..@.@.@.@@@.@@.@@.@@@..@@@@@@@@@@@@.@@.@@@@.@@.@@@@@.@@.@..@@....@@@@..
|
||||
@..@@.@@@@@.@@@@.@.@@@@@...@@@@..@@@@@.@.@@@..@@@@....@@@@.@@..@@@.@.@@.@@@@@@@@@.@..@..@@.@@@.@@@.@@..@.@@.@@..@@..@@@@@.@..@@.@@@@@@.@.
|
||||
@@@@@@@@....@.@.@@@.@....@@@..@.@....@@@...@@.@.@@...@@...@.@.@@@@@@....@@@@.@@..@@@@@@.@@@@..@.@@@@@@@@@.@@.@@@.@.@@@..@.@@..@@@@..@@.@@
|
||||
@...@@@@@@@@.@@@@@@@..@.@.@@@@@...@@.@..@.@@@@...@@@...@@@@@@@@@@@.@@@@.@@@@@@.@@.@@@@@@@.@@@.@.@@.@@.@@@@@@.@..@@@.@.@.@...@@@........@.
|
||||
@@@.@@.@.@.@@.@@@@..@@.@@.@@@..@@@...@@@@..@.@@@@.@.@.@.@@@.@@@@.@@...@@@@@.@.@@.@.@@@.@.@@.@@@.@@@.@@.@@@@.@...@..@@@.....@@@.@@@.@@.@.@
|
||||
@.@.@@..@@.@@@@@@.@@@@@@@@.@..@@@@..@@.@@..@@@@@@..@...@@.@@.@.@.@.@@@@..@..@..@@@.@..@..@@@@@.@.@.@@@@@.@@@@@.@.@@..@@@@@.@@@..@@@@@.@.@
|
||||
@@..@@@.@..@..@@..@@@@.@@@@.@.@@@..@.@@..@@@.@.@@..@.@@.@@@.@.@@@@.@..@@..@@@..@@@..@@@...@@.@@@@..@@@@@@@@.@@..@...@@@..@@@.@.@@.@@...@@
|
||||
@...@@@.....@@@@@.@.@.@@..@@....@@@@@.@@@..@.@@@@@@@@.@@@.@@@.@@@@@.@.@.@@.@@.@.@..@..@@.@.@@@@@@@@.@@.@@@@..@@@@.@@@@...@...@@@@@..@@@@@
|
||||
@@@.@.@@...@.@.@.@@@@@@@....@@@@@@@.@@@@.@@.@@.@.@...@..@@.@.@@@@@@@@@@@.@.@.@@@@@@.@....@@@.@@@@@@@@@@..@@@.@@.@@..@.@@.@.@..@.@@@@@@@@.
|
||||
.@....@@@.@.@@@@@.@..@.@@@.....@.@@@.@.@.@@@.@@@.@..@...@.@.@@@@@@.@@.@.@..@.@@..@@@@.@@@.@@@@@..@..@@@@@..@@@@@.@..@@.@@@@......@@@.@@.@
|
||||
@.@...@@@@@@@.@..@....@@@@..@@..@@@@.@.@@@@@@@@@.@.@.@.@@.@@@.@..@@@@@@...@@..@@@.@.@@@@.@@@@..@@.@.@...@..@..@.@@@...@@@@@@.@..@@@@@@...
|
||||
@@@@@..@..@.@.@@.@@@@@.@@@..@.@@@..@@..@@.@@.@@@@.@@.@...@@@..@.@@@.@@@.@@@@@@@@@.@@.@@.@@@@..@@@@@..@@@@@..@..@@.@@@@@@@..@@.@@.@@..@.@.
|
||||
@@@@@..@@@@@.@@@@@.@@@@@@@.@@@@@@@@@@@.@.@@@@@.@.@@@....@@@@.@.@..@.@@..@.@..@@.@@@..@@@@@.@@@.@.@.@@@@.@@@.@@@@...@.@@@.@.@@.@@.@.@...@@
|
||||
@@@.@.@@.@@@@@.@.@.@...@@@.@@@..@@@@@@@@@.@@@@@@@@@@@@@@@@...@..@..@.@@.@..@@.@@@...@..@.@@.@@@@.@@@@@..@.@@@.@@@..@@@..@@.@@.@@@..@..@@@
|
||||
.@@@.@.@@@@@@.@@.@@.@@...@.@.@@@@...@.@.@@...@@.@@..@.@.@@....@@@.@..@@.@@@.@.@..@..@@@@@.@@..@....@@@@@@.@@@@@.@@@@@@.@@..@@@@@..@@@.@@@
|
||||
..@.@@@@.@@@..@@@@.@@@.@@@..@@@.@..@@@@@@.@@..@..@@.@@..@.@@.@@@@@@.@@@.@...@@@@.@..@.@@@.@@.@@.@..@@@.@..@.@@.@..@@@@@.@.@@.@@@@@@@.@@..
|
||||
@@@@.@@@@@..@..@@@.@..@@@@@.@@@.@@@@..@.@@.@@@@.@@@@@.@.@.@@@@@.@@@@..@@.@@..@@@..@@..@@@@@@.@.@.@...@..@@.@.@@.@..@@@@@@.@..@@.@.@@@@@..
|
||||
@@@.@@@@@.@@@.@@@@@@@@@@@@@@@@..@@..@@..@@@@@@@@..@@@.@@@@...@..@.@@@@@.@.@@...@.@..@.@@@@@@.@@@@..@...@@@.@.@..@@@@.@@@@@@@@@@.@@.@@.@@@
|
||||
@.@@@@.@.....@@@@@.@@......@@@.@@...@.@@@@@.@.@@@@..@...@..@@..@@.@.@@..@..@..@.@@@.@@@@@@.@@@.@@@.@@..@.@@.@.@@....@.@..@...@@.@.@@@@@.@
|
||||
@@@@.@@@@@@..@@.@.@@.@@.@....@@@...@.@@@@@.@..@@@.@@@@@@@@@@@@@@.@.@@@.@.@@@.@.@@.@@.@@@@..@@@@.@@..@@@..@...@..@@.@@@@@@@@.@@@@@.@@@@@@.
|
||||
.@@...@.@....@@@@..@@.@@@@@@..@@@@@.@@@@@@@...@....@@@@@.@@.@@.@..@@@@@@.@...@@@@.@@@.@@@@..@@.@.@.@.@@@.@..@@@...@@@@@@.@@@@..@...@@..@@
|
||||
.@...@@@@..@@@@@..@@@..@@@@@@@.@.@@..@..@@.@..@@@@@.@.@@.@..@@@@@..@...@@.@@@.@@.@@@@@@..@....@...@@@@@@@.@@@@@.@@@@@@.@......@@.@.@..@..
|
||||
@.@@.@.@@@@@@.@.@@@.@@...@.@..@@@@@.@@@.@.@@..@.@.@@@.@@.@@@@@@.@@@@@@..@@.@..@.@...@@.@@@@@.@@@@.@@.@@@@@..@@.@@@@@@@@@..@@@@.@@.@@@@@@.
|
||||
@@.@.@.@@@.@@@.@@@...@@@@@@.@.@@@@@.@@@@@.@..@@.@..@.@@.@@@.@@@@..@@@@...@..@@@..@@@@@.@@@@@@@.@...@@.@@.@@@@..@@@@....@@@.@.@.@@.@@..@@@
|
||||
.@.@@@@.@.@..@@@@.@@@@..@@@@@.@@.@...@@@@.@.@.@@@@.@.@@@.@@..@@.@@.@.@.@..@..@@@@@.@.@..@@@@.@@..@.@@.@..@.@@.@@@@@@@@@@@@@@@@@@..@@@@@@.
|
||||
@@@@@.@@.@@@@.@@@@@.@.@@@@.@..@@@@@.@@@.@@...@@.@@..@@@@.@@@@@.@@@.@@.@.@@@@@@.@@@.@@@@@.@@@@.@.@@@@@..@.@@@@@@@..@@...@@@.@...@@@...@..@
|
||||
@@@@@....@.@..@@@.@@@.@..@..@...@.@@.@@@@@@@.@@@@.@@@.@@@@@@...@@@@.@@.@..@@@@.....@@@.@.@@@...@@@.@@.@@@.@..@..@@@@.@@..@@...@@@....@@@.
|
||||
.@@@@@@@..@.@.@.@..@@@@@@@@@@.@@@@.@@@@@@@.@@@@@..@@@..@..@@..@@..@@@@@@..@@@.@@@@.@@...@..@.@.@@@@@@@@@@.@@@@.@@@@@.@@@@..@@..@@@@@@@@..
|
||||
@@@.....@@.@@@@@@..@@@...@@@@.@@..@@@@@@...@@@@@@..@.@@@@.@@@@.@@.@@..@@@@..@..@.@@.@...@@@@...@..@@@.@@.....@@@@@@@@@.@@@@.@.@@@@@.@@@@.
|
||||
@@@@..@@@@@@@@@..@@@@.@@@@@@@@.@@@@@@@@.@@@@@@@@@.@@.@.@@@.@@@.@@.@.@....@@@@.@...@.@@@.@.@.@.@@.@@@@.@@@@@@@@@@@@@.@.@@@.@@@@.@@@.@@@@..
|
||||
.@@@.@.@@..@@.@@@@..@@@@@..@.@.....@.@....@@@@@@@@.@.@@@@.@...@..@....@@@@@.@@@@@@.@.@@@.@....@@@@@@@@@.@.@@.@@@@@@.@@.@...@..@@@@@@@..@.
|
||||
@@@....@@.@@@@@@@@.@@@@.@@@@@@..@@.@@@@..@.@.@@@@@@...@@@.@@.@..@.@.@.@.@@.@.@@@@@.@@@@@...@.@.@@.@@@@@@@@.@@@..@@@.@.@@.@@@@@@@@@.@@@@@@
|
||||
.@@..@@.@..@@..@@.@@@@@@....@.@@@.@@.@@@@@@@.@...@@@@@@@@.@@@@@@.@@@@@@@@@...@@...@@@@.@.@@.@.@@...@@@@@@@@@@...@@@@.@@@@@@..@@@@@.@.@@..
|
||||
@.@@@..@...@@.@@@@@.@@@.@....@@@@@@..@@.@@@@@@@@@@.@@@.....@.@@@@@@@.@.@...@@@.@....@@@@@@@@@@.@@@@.@@.@@@.@.@.....@.@.@.@@@.@@@.@.@@@@@@
|
||||
@@.@.@@@...@@@@@@.@@...@.@.@.@@@@@@@@@@@@@@...@@@@@@@@@@.@.@@@..@.@@.@@@@@@@@@@@@.@.@.@@.@..@@@@@@@@@@..@.@@@@@.@@.@.@.@.@.@@@..@@.@@@@@.
|
||||
@@..@@.@@@.@@@@@@..@@@.@.@@.@@@.@.@@.@.@@@@@..@@@.@@@.@@.@@@.@@@@...@@@@@.@.@@@.@@@@@..@@@@.@@@@@@@@@.@@@@.@@..@@@@@.@@.@@@..@.@@@@@@@..@
|
||||
@@@@@@@@@@@@@@@.@@.@@@@.@.@.@@@...@@.@@@.@...@@@@@.@.@@.@@@@.@.@@@.@@.@.@@@.@.@@@.@@..@.@@.@@@.@@..@@@@..@@.@@@.@.@.@@.....@.@..@.@@@@@.@
|
||||
.@@@....@.@...@@@..@.@@@@.@.@@@@@@.@@@.@.@..@.@..@...@@.@@@@@@..@...@.@.@@@.@@.@.@.@.@@.@@@.@@@....@@@@.@@@..@..@@.@@..@..@@@@.@@.@..@@@@
|
||||
@@@.@...@@@@@.@@.@@.@..@.@...@@@.@@@@@@@..@@@@@.@@@.@@..@.@@@@@.@.@..@@@@@@..@@@@@@..@@@@.@@.@@.@.@@@.@@..@.@.@..@..@@@....@@@.@@..@.@.@.
|
||||
.@@@@@@@@@.@@@.@@@@....@@@@@..@@..@@@@@@@@@....@@@@@@@..@..@.@...@@@@@@@@@@@@@@.@@@@..@.@.@.@@@@@@@@@.@@@@@@...@@@@.@@.@.@..@.@.@.@.@.@@@
|
||||
.@@@@@..@@@@.@@@@.@@@@@@@@@@@@@..@...@@@@..@.@@.@@@@@@.@..@@@@..@@@@@@.@.@@@@@@@@@@@@.....@@@@@@.@@@@@@@@.@@@@@@@@@@@@.@.@@@..@@@@..@...@
|
||||
@.@...@@@......@@@.@@.@@.@.@@@..@@.@.@..@@@..@.@@@@@.@@@...@@...@..@.@..@@@@....@@..@.@@..@.@.@@..@@@@@.@@@@.@@@.@.@@.@.@@.....@@.@@@@@@@
|
||||
@@@@.@@@....@@@@@.@@@.@@@@@.@@@...@.@@@@.@.@@@.@@@@@@@@.@@@@@.@@@@@.@....@.@@@@..@.@..@@.@.@@.@@.@@.@.@..@@@@.@.@@.@@@@@@@@@@.@.@.@@.@.@@
|
||||
@@@@.@.@.@@@@...@@@.@.@@@@@@@@@@.@@.@@@@.@@@.@@@..@@@...@@@@@..@@@.@@@@@.@..@......@@..@.@@@@@@..@@.@.@@@.@@@@@@@@@@..@..@@@@@.@@.@@.@..@
|
||||
@@.@@@@@.@.@@@@@@@.@..@@@@@@.@.@.@@@.@@@@@@@.@@@@.@@@@.@.@@.@@@.@@@.@@@.@@@.@@@.@@@.@@@@.@@..@.@..@@@.@.@.@@@@@@@@...@@@@@@...@.@@@@@.@@.
|
||||
@@@@@..@@.@..@....@@@@@@@.@@@@@@.@@@@@@@@@.@@.@@@@.@@@@@.@..@@@@@@@@.@....@@@@.@@@@..@.@@..@@@@@@...@@.@@@@...@.@.@.@@@@@@@..@@@@@@@@@@@@
|
||||
@@.@@@...@@.@@.@.@@@@@@@@.@@.@@.@...@@@@@@..@@.@@@...@@@.@@@@@@.@@@@.@@@.@@..@@@@@@@@@@@@.....@..@@...@.@@@@@@@..@..@.@.@@@@@@.@.@@.@@..@
|
||||
.@@@@.@@.@@.@@@@.@@@@.@@.@.@...@.@@......@@.@@@@@@.@@@@@@@@@@@@@@..@@@@.@@@@@@.@@@@..@@.@@.@.@..@@@..@@..@@@.@@@@.@@@@.@@.@@.@....@@@..@.
|
||||
@@@@.@.@.@@@@@.@...@@@@@@.@@@.@@@..@@@@.@.@@@@@@@@.@..@@...@@.@.@@@@..@@@@@@...@..@@.@@@@...@@@.@@@@@.@@@.@@.@@.@@@@.@@@@...@@@@..@@..@@.
|
||||
@....@.@.@@@@@@@......@@..@.@..@@.@@...@.@.@@.@@@.@@@@..@@.@@@@@..@.@.@@@@@.@@@@@.@@@@@.@.@@@@..@...@..@.@@@@@@@@@@@.@@.@@.@@@@@@@@@.@@@.
|
||||
@@@@..@@@@@.@@@@.@.@@@.@.@...@@@@@.@@.@.@..@@.@@@.@@..@@.@@@@..@@.@@@.@@@.@@@@@@.@.@@@@@@.@..@.@..@@@@.@.@@@@@.@@.@.@@@@@@..@@@@.@@..@@@@
|
||||
@@@.@@@....@@.@@.@@@@@@@@@.@@@..@@@@.@.@.@@@.@.@@@@@@.@.@..@@.@@@@.@@@@@@@@@@@@.@@@.@@@@@.@@@@@@@.@.@@.....@@@@@..@...@@...@@@@@@..@@@@@.
|
||||
@.@@@@@...@@.@@@@@.@@@.@.@.@.@..@@@...@..@@@@.@@@...@..@@@.@..@.@...@@@@@@.@@@@@.@@@@@..@.@@...@@@@@.@.@.@.@@@@@@@@@@.@@.@@@.@.@.@@.@.@@@
|
||||
.@.@.@.@@.@@@.@@@.@@@@@.@@...@.@@.@@@@@@@@@@@@@@@@@.@@@@@@..@.@@@@@@@.@.@@@@@@@@.@@..@@@@.@.@.@@.@@.@@.@.@@@@@...@..@@@..@@@@@.@.@.@@@@@@
|
||||
.@@@@@..@@@@@@.@.@.@@@@@@@.@.@@@@@@@.@.@.@.@.@@@@.@@.@@@@@@@@.@@@@@@@.@@@@@@@@.@..@@@@.@@..@@@@.@@@.@@@.@@..@@@@.@@@@.@.@.@@@@..@@@@..@.@
|
||||
@@@@@@@@@@@@@.@.@@..@.....@.@@@.@.@...@....@.@@@@@@.@...@.@@@@@.@@@@@...@@@...@..@@..@@.....@@@.@@.@@@@@.@.@@.@@@.@@.@@@@@...@@.@@....@@.
|
||||
.@@@..@.@@@..@.@@.@..@@@@.@..@@@@..@@.@@@@@.@@@@.@.@...@@@@.@..@@@@@@.@@@.@@@.@.@......@@@@@@@@@.@.@@.@@@@@..@@.@@.@....@@@@@..@@@@.@@@@.
|
||||
@@@@@.@.@.@@..@@.@@@@@.@@@@@@.@@@@@@@@@..@@@@.@@.@@@.@.@@.@..@..@@@@.@@@@@.@@@@@@@@@@@.@@....@.@.@@@@.@@..@@@@....@.@@@..@@@.@.@@.@@.@.@@
|
||||
@.@@.@.@@@.@@@@.@@..@.@@@@@.@@.@@@@@@@@.@@@.@@..@@@@@@@@@..@@.@@@.@.@.@...@@..@@@....@....@@.@@@@.@.@@@.@@..@@@..@@@@.@@.@.@@@.@@@@@@@@.@
|
||||
@@@@.@@@@..@@.@.@@@..@@@@...@@@@.@@@@.@@@@..@@@@@@.@@@@@@.@@@@@@@.@@@.@.@@..@.@@@.@@@.@@.@..@@@.@..@@.@@@@@@@.@@@@@@@.@@..@@..@@@@..@@.@.
|
||||
.@.@@@@@@.....@.@.@@..@.@.@@@@.@@.@@...@.@..@@@.@..@@@@.@@@@@.@@@@..@@@@.@.@@@@..@@@@@@@@@.....@.@@@..@@.@@.@.@@...@@@@.@@.@@@.@@.@@.@.@@
|
||||
@@.@@.@@@...@.@.@@@@..@@@..@@.@@@..@.@@..@.@.@@@@@@@..@@@....@.@.@@@@@@@@.@.@.@@.@.@.@@@@@..@@.@@@..@@@@@...@@..@..@@@.@.@.@..@@@..@@@@@@
|
||||
@..@@.@.@.@.@.@.@@@@@@@@.@@@@@@@@@@@@@@@@@@.@@@@.@@@@..@.@..@.@..@@@..@@@@@@.@@@@..@@.@@.@@@@@@@@.@@@@@..@@@@@@.@.@....@@.@@@@.@@@@.@@...
|
||||
.@@@@@.....@@.@.@@.@@@@@.@.@@...@.@.@.@@@..@.@.@.@.@.@@@@@@@@.@@@@..@@@.@@@@@@@.@.@.@@@.@@..@@@@@.@@....@@@@.@@@.@.@@.@.@@..@.@.@@@.@@.@.
|
||||
@.@@..@@.@@@@@.@@@..@@@@@..@@..@@@.@@@@@@@.@@.@..@@@@.@@@@@.@@@@@@..@@@@@@@...@.@@..@.@@@.@@.@@.@@..@...@@.@@..@@.@...@..@@.@@.@@@@@.@@@.
|
||||
@@..@@@@.@@@@@@@@@@@@@@@.@@.@@@@@@@@@...@@@@...@@.@.@.@@@...@.@@@..@@@@.@@@@@@@@@@@@@@...@..@@.@@@@..@.@@@.@...@@@@@@.@@@@@..@..@@.@.@@@@
|
||||
@.@@@@.@@@@@..@@@.@@..@@@.@@@@@..@@.@@@...@..@.@.@.@@@.@@@.@@@@@.@@@@..@@@.@@@.@.@.@@@@..@@@@@@.@@@..@.@.@@@..@.@.@.@@@.@@@@@.@@@.@@...@@
|
||||
@.@@...@..@@@.@.@..@@@@@..@..@@@@@@@@.@..@.@@.@@@@.@...@.@@@@@..@.@@..@.@..@@@@@@.@.@.@@.@@@.@@@@@@@@@@@@@@@@@@@@@@@.@...@@@@@@@..@@..@@.
|
||||
@@@..@@.@..@@...@@.@@@@@@@...@@.@@@@@@@..@...@.@@@@.@@@@.@@@@@.@@.@@@...@@@.@...@...@@..@.@@@@.@.@.@@@..@@@@.@@@@..@@..@...@..@@@@..@@@@@
|
||||
@.@@@..@@...@@@@@@@@@@@@@.@@..@@@@...@@@@@@@...@@@@@.@..@@@@@.@@.@@.@@@@@@@@..@.@.@@@.@@@@@@@@@@@@@@@@.@.@..@@.@@.@.@@.@@.@@@.@@@.@.@.@.@
|
||||
..@.@@@@@@@.@.@@..@...@@@..@@@..@@@.@@@@@@.@.@@.@@.@@@@@@@.@@.@@@@@@..@.@@@@@@@.@@.@@@@@@@@@@@@@@.@@..@@@.@.@..@..@@@..@@@@@@@@@...@@@@@@
|
||||
@@@@@@@.@@@@@@.@..@..@@@@@@..@@@@.@@..@@@@.@.@.@@.@@@@@.@.@.@@@@@@@@...@@@@@.@@.@.@@@.@@@.@@.@.@@@@@@@@@@@.....@.....@.@@@@@.@@@@@@@....@
|
||||
@.@@@@@@.@@.@..@@@@.@@.@@.@@@.@.@@@@@.@..@@@@.@...@@..@.@.@@@@.@...@..@.@.@..@@@@.@@@.@@@.@@@@.......@@@.@.@@@...@@.@@.....@.@...@.@@@..@
|
||||
@@@@....@.@.@.@@.@@@.@@@@.@@@@@@@.@@@@@.@.@@@.@@@@.@@@@@@@.@@@@@@.@@@@.@..@@.@@@@...@@..@@.@..@.@..@.@@@@..@@.@@@..@.@@@@@@@@@.@@@@@.@@@@
|
||||
@@@@@@@@@@@@@....@@@@@..@@@.@.@@@@@@@@..@.@@.@@@@@@.@@@.@@.@....@..@@@@@@.@@@@..@@@@.@@@.@...@@@.@..@@.@.@@@..@@@.@@@@@.@..@@@@@.@@.@...@
|
||||
@.@@@@@..@@.@@.@@@@@.....@....@.@@@..@@.@@@@@.@@@@@@@@@@@@.@@@..@.@@.@@..@@@...@@..@.@@@@@@@@@@@..@@..@.@@...@@@@.@.@@@.@..@@..@@@.@@@@@.
|
||||
@@@.@@.@@@@@@@@..@.@..@@@@@.....@.@.@@@@@@.@@@@@.@.@@.@@@@.@.@.@@@@@@..@@@@.@@@@...@@@@....@@@.@@.@@@.@.@@@.@@@@.@@@....@@@@.@@@@@.@@@..@
|
||||
@.@@@...@@...@.@@@..@@@@@...@@.@@.@..@@@.@.@..@@.@@@@@@..@@...@@@@.@.@@..@..@..@@@.@.@@@@@..@.@@@.@..@.@@..@....@@@@@@@@@@@@@@.@@..@.@.@@
|
||||
@@@@@@.@@@...@.@.@@@@.@@@.@..@@@@@@.@.@@@@@@@@.@.@.@.@..@@@@..@@.@@..@@@.@@@@@.@@@@.@@@@@...@@...@@@..@@@@@.@@@.@@..@.@...@.@.@@..@..@@.@
|
||||
@...@@@@.@@@..@@@@.@@.@@.@....@.@...@@...@@.@@@.@.@.@@@...@..@.@@@.@@@@.@@@@..@@..@@@@.@.@@@..@@@.@..@....@@.@..@@@.@@@@@@.@@@@.@.@@@@@@.
|
||||
@.@@@.@@@@@@@.@@.@@@@@@@@@@@@@.@@@@@.@@@.@@.@.@@@.@.@.@.@.@@@@.@@.@..@@@@.@@@.@.@@@@@.@@@@...@.@...@.@.@@.@@@...@...@@.@.@.@@@@@...@@@.@.
|
||||
@@.@.@.@....@@..@...@@@.@@.@@@@..@@@@@@@.@@.@@...@..@..@....@@@@.@@@@@@..@.@..@@@@.@.@@@@@.@..@@@@@@@..@@.@...@@@@@.@@@@.@@..@@@.@@.@.@.@
|
||||
.@@@@@@@@.....@@@.@.@@@@.@.@@.@@.@@@.@@..@.@@@@@@@@....@@@@@@@@.@@.@@@.@.@....@..@.@@@@@@.@..@.@@.@..@.@.@@@@@..@@@..@.@@.@@@.@@@@@.@...@
|
||||
..@@.@@@..@@.@.@@@.@@@.@...@@@@@@.@..@@@.@..@@@@@.@@.@@@@@@@.@@@.@..@@..@@@@.@@@..@@@@..@.@@@@.@@@@@...@@....@@@@@.@@@...@@..@@@@.@@@@.@@
|
||||
@@@@@@..@.@@.@..@@.@@@@@@@..@@@@..@@@@@.@@@@@@.@@@@.@@@@@.@@@.@@...@@@@.@@@...@@@@@@.@.@@@..@@.@@@@....@@@@.@@@@.@@.@..@.@@@.@@@@.@@@...@
|
||||
......@@@@@@@@...@@@@@@@@...@@@@@.@@@@@.@@@@...@.@@@.@@.@...@@@.@...@.@@@@.@@@@..@...@@@......@@.@@@@@.@.@@@@.@.@@@@.@@@@.@..@@@.@@.@@..@
|
||||
....@...@@@.@@@@...@..@@@.@...@@@.@.@@..@@@@@@.@..@@@@@.@@@@@.@@@@@.@@.....@@@@@@...@@.@.@@@@@@@@..@@@@@@@@@.@@@..@.@...@@.@@@@@@..@@.@.@
|
||||
..@@@.@@@.@.@...@@@@.@@@@....@...@@@@@@.@@@@@@@@.@@.@@.@@@@@@@@@.@@@@@@..@@@@.@..@@.@@@.@@@.@@@@@....@...@@...@@.@..@@@@@@..@@...@@@.@.@.
|
||||
@@@@.@@@...@@.@.@@.@@.@@@@@@@.@@@@@.@@@..@...@.@.@.@.@@@@.@@....@@@@@.@@@@..@@@@@@@.@...@@@.@@..@..@.@..@@..@.@@@@@..@@.@@.@@@.@@@@.@@.@@
|
||||
.@.@@.@@@@@@..@@@@..@@..@@@.@..@@@@.@@@@..@@.@@@@@.@.@@.@@@@@@..@@@..@....@@@@@@@@@@@@@@.@@.@..@@@@..@@.@@@@@@.@.@.@.@@@@.@@.@....@.@@@@@
|
||||
@.@@@@@@.@@.@...@@.@@.@@@@@.@.@@@@@@.@@@...@@.@@@..@@..@..@@.@@@.@@.@@@..@@@..@..@.@@@.@@@.@....@.@@@@@..@@@.@@@.@.@@@@@@...@.@@..@@@@@@.
|
||||
.@@@.@@@@@@.@..@.@@@@@@.@@@@.@@@...@@@.@..@..@@.@.@...@.@@@@..@@@.@@@@...@@@.@@.@@@@@@.@@@.@@@.@.@..@..@..@...@@@@@@.@..@@..@@@@@@.@@.@@@
|
||||
.@@@@@.@@@.@.@.@@@.@..@.@...@@@@@..@@.@@@@.@.@@@.@@.@@@..@@@@..@@.@@@@@@@@.@@.@@@@..@@@.@@.@.@@.@.@.@@.@.@.@@.@.@@@.@@@.@@..@@@@..@..@.@@
|
||||
@@@@.@.@@.@@@..@@@@..@@@@@@@.@.@..@...@@..@.@@@.@@@@.@@..@.@@@@@...@.@..@.@.@@@.....@@.@@@@@@@.@@@@.@@.@@@@@@.@.@@..@@@@.@@..@@@.@@@.@@@.
|
||||
.@@....@@..@@@@@.@@@..@..@@@@@@@@@@.@@@.@@@@.@@@@@@@@..@@.@@@@..@@....@@..@.@@@@@..@@@@.@@@@@.@.@.@..@@@@..@@..@...@.@@...@.@.@@@@.@@..@.
|
||||
.@.@@@@.@@..@@@..@..@@.@@.@@@.@@.@...@..@.@.@@@@.@..@@..@.@@@..@@@...@@@@@.@@@@@@@.@@..@.@..@@@@@.@@@..@@@@@@@@@@@.@..@@@.@@..@..@@@...@@
|
||||
@...@.@.@@@@@@@@@@@@.@@.@.@.@@..@@@.@.@.@@...@@@@.@@.@@.@@@@@@...@@..@@@@.@@@@@..@@@@@@@.@@@@.@@..@@@@@@@@@@@@..@@..@.@@.@.@.@@@.@.@@@@@@
|
||||
@..@@@.@..@@@.@@@@@@.@@.@@.@@@..@@@..@@@.@.@@.@..@@@@@@.@...@@.@@...@@@@.@.@@@@.@@@@.@.@@@@@@@...@.@@@.@.....@.@.@@.@.@.@@@@@@@.@.@.@@@@.
|
||||
@.@@@.@@@.@@@@@@@@@@@.@@@@@@@@@..@@@@.@@..@@@@@...@@@....@@@@..@@..@@@@@.@@.@@.@.@.@@.@@@@.@.@..@@....@@..@.@@.@@@@..@.....@@@..@@.@..@..
|
||||
.@@...@...@.@@.@.@.@.@....@@@@@.@@..@.@..@@@..@@.@@@@@@...@.@@@.@.@@@@@@..@@.@.@...@.@@@..@@.@..@.@@.@....@@.@@.@@@...@@..@...@@@.@@.@@.@
|
||||
@@.@.@@@@...@@@@@@@@.@@....@.@...@.@.@.@@@@....@.@@.@@@..@@.@@@@@@@.@@@@@.@@.@@@.@.@@@.@.@..@@@.@@.@..@@.@@@.@@.@@@@@@@.@@@@@@..@..@@.@@.
|
||||
....@..@@@....@@@@.@@.@.@.@.@@@@.@.@@@.@..@@.@.@@@.@@@@..@@@.@..@...@@@..@@@@..@@@@@@..@@.@.@@@@@@@@...@@.@@..@...@.@.@@..@..@.@@.@@..@.@
|
||||
@@@@.@@@@@@@@@.@@@..@@..@..@.@..@@@.@.@.@@@@@...@@@@.@...@@@@@@@@.@.@..@@.@@@@@@@......@..@@@@.@@@..@.@@.@@.@.@@@...@@@@.@.@..@.@@@.@@@..
|
||||
@@.@@@@@.@@@.@@@@@..@...@@...@.@.@.@..@.@@@.@.@.@.@@.@@@@.@@@..@@@@...@@.@@.@@@@@@@.@@.@@.@@@.@@@.@@@@.@@@@@@.@.@@.@@@.@..@@.@@@@.@@@..@.
|
||||
@@@..@@.@.@.@@..@..@.@...@@@.@@@.@.@..@..@@@@@@@.@@.@@..@.@.@@@@.@.@..@.@.@@@...@.@.@@.@@@@..@.@@@@@.@@@..@@.@@@@@@@..@@@.@@@@@@@.@@@@@.@
|
||||
@@.@@...@@@.@@@@@@.@.@@.@@@@@@.@@@..@@.@@@.@@..@.@@.@..@@@@@@.@@@.....@.@@@@@.@@..@@..@@..@@.@.@@@@@@.@@.@.@@.@...@@@@@@.@.@@@...@@@.@@@@
|
||||
@@..@@@@.@.@.@@@@@@@@.@@.@.@@@.@@@@..@..@@@@@@.@@...@@.@@..@.@@..@@.@@@@.@@.@.@@@@@@@.@@@...@..@.@@...@@@@.@@..@.@@@@@@@@@.@@.@.@.@.@@@.@
|
||||
.@.@@..@@@@@....@@@.@@@.@@.@@...@.@@...@@@@@.@@@....@.@@.@@@@.@@@.@@@@@@..@@@@.@@@...@..@@@@@.@....@@@@.@.@.@.@@@@.@.@@@..@@.@@...@....@@
|
||||
@.@.@@...@@.@@...@.@..@..@@@...@.@@@.@@@@@@.@@@.@@@@@@@@...@@@.@..@...@..@@.@@@.@..@.@@@..@@@...@@@..@.@@@@@.@..@@.@..@@.@@@@@@@@.@..@.@@
|
||||
@@@..@.@..@.@@.@@@@@@.@@@.@@@....@@.@@@.@@@....@..@.@...@@..@@@@@@@@@@...@@.@@@.@@@.@@@@@@.@@.@...@.@@.@@@....@@.@@@.@.@@.@...@.@@@@.@@@@
|
||||
.@@@@..@@@.@.@.@@@.@..@@.@@.@.@@@@@@.@@@@.@@...@@@@.@@..@.@@.@@@@@@@@@..@@@@.@@@@.@.@@@....@@.@.@@.@@@@@@...@@@@@@@.@..@..@..@@.@.@.@....
|
||||
.@@@@@.@.@@.@.@@@@@@..@.@@.@@...@@.@@@@.@.@.@@@.@@@@....@.@@@@@@.@@@@.@@@@.@@.@@@@@@@@.@.@..@.@@@.@@@@@...@@.@..@.@@@.@.@@@@.....@.@.@@.@
|
||||
.@@.@@@.@@@.@@.@...@@...@@@@..@@.@@@..@.@@.@@.@.@@@@.@@@@.@..@@@@.@@@@@@.@.@@.@.@@..@@@@@@@@@.@@@@@.@@@@..@@@.@@.@@.@.@@@@@.@@@@@.@....@.
|
||||
@@.@@@.@@@@.....@@@.@.@@.@.@@.@@..@@@@@@..@@@@@@@@@@.@@@@@@@.@@..@@@@..@@..@@@.....@.@..@@@@.@@.@.@..@@..@@.@@..@.....@@.@@@...@.@.@.@@@@
|
||||
@..@@@@.@.@@@@.@.@.@.@.@..@.@..@@@@@.@@@.@@.@...@@@@.@@.@@@@@@@@..@@@@.@@@@.@@@@..@@@..@.@@.@@@@@@@@@.@.@@.@@@.@.@@@.@@.@@..@.@@@@@@..@.@
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,101 @@
|
|||
#!/usr/bin/perl
|
||||
use strict;
|
||||
use bigint;
|
||||
|
||||
my @problems;
|
||||
my @operations;
|
||||
my @solutions;
|
||||
my @lines;
|
||||
while(my $line=<DATA>) {
|
||||
chomp($line);
|
||||
push @lines, $line;
|
||||
|
||||
|
||||
$line=~s/^\s+//;
|
||||
$line=~s/\s+$//;
|
||||
my @parts = split(/\s+/, $line);
|
||||
#print join(',',@parts) . "\n";
|
||||
|
||||
if($parts[0] eq '+' || $parts[0] eq '*') {
|
||||
@operations = @parts;
|
||||
last;
|
||||
}
|
||||
|
||||
if(!@problems) {
|
||||
@problems = map { [$_] } @parts;
|
||||
} else {
|
||||
for(my $i=0; $i<@problems; $i++) {
|
||||
push @{ $problems[$i] }, $parts[$i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
my $total;
|
||||
for(my $i=0; $i<@operations; $i++) {
|
||||
my $ref = $problems[$i];
|
||||
my $op = $operations[$i];
|
||||
|
||||
my $working = shift(@$ref);
|
||||
while(@$ref) {
|
||||
if($op eq '+') {
|
||||
$working+=shift(@$ref);
|
||||
} else {
|
||||
$working*=shift(@$ref);
|
||||
}
|
||||
}
|
||||
$solutions[$i]=$working;
|
||||
$total+=$working;
|
||||
}
|
||||
|
||||
print "Total is $total\n";
|
||||
|
||||
my $opstr = pop(@lines);
|
||||
my @nums;
|
||||
my $op;
|
||||
$total=0;
|
||||
my $last;
|
||||
for(;;) {
|
||||
my $t_op = substr($opstr, 0, 1, '');
|
||||
if($t_op ne ' ') {
|
||||
my $res = undef;
|
||||
while(my $num=shift(@nums)) {
|
||||
print "Num is '$num'\n";
|
||||
next unless($num=~/\d/);
|
||||
$num=~s/\s//g;
|
||||
if($op eq '+') {
|
||||
$res += $num;
|
||||
} elsif($op eq '*' && !defined $res) {
|
||||
$res = $num;
|
||||
} elsif($op eq '*') {
|
||||
$res *= $num;
|
||||
}
|
||||
}
|
||||
|
||||
print "$res\n";
|
||||
$total+=$res;
|
||||
$op = $t_op;
|
||||
@nums=();
|
||||
last if($last);
|
||||
}
|
||||
|
||||
my $col;
|
||||
for(my $i=0; $i<@lines; $i++) {
|
||||
$col .= substr($lines[$i], 0, 1, '');
|
||||
}
|
||||
push @nums, $col;
|
||||
|
||||
if(!length $opstr) {
|
||||
$last=1;
|
||||
}
|
||||
}
|
||||
|
||||
print "Part 2 total is $total\n";
|
||||
|
||||
|
||||
|
||||
__DATA__
|
||||
563 334 22 38 2624 77 49 73 39 49 85 2 98 977 98 581 73 7 91 84 965 78 93 5932 67 4 965 8739 21 232 272 32 19 351 9 11 58 71 416 226 149 5234 2799 334 739 136 256 857 34 35 591 778 758 587 38 6 38 688 126 96 44 8763 3 9 15 84 619 856 635 52 2 345 91 42 96 597 996 8 649 25 88 6 814 63 77 644 3 627 43 6 15 31 82 93 355 22 48 63 8513 19 255 518 35 92 244 51 5 889 66 5 241 2468 24 47 77 5 5 332 5 6276 762 68 231 369 959 16 45 3552 376 14 47 68 23 467 7 984 33 49 348 51 516 687 163 83 8718 742 58 32 484 74 8 1 95 72 65 322 4464 6294 655 76 5153 7923 4459 33 6275 5159 84 752 17 9595 69 63 858 7715 554 42 8 5 39 75 74 17 4 929 48 897 158 9 29 516 2269 21 2 4 481 451 11 455 38 33 187 59 616 765 69 88 12 15 739 462 41 39 7 15 361 4 73 96 6 13 94 97 7 72 71 92 849 59 739 52 5 3 47 86 59 2 24 6 611 882 35 576 391 2452 2 1746 32 9 252 56 955 977 7838 92 7461 434 9 98 429 71 4 12 12 26 8395 911 57 78 168 14 934 525 28 37 64 79 31 539 552 3 593 329 3958 796 75 844 6 57 7686 971 9 1 9 58 36 176 7938 7 22 295 68 8968 99 9 62 43 3 5894 61 48 216 7994 52 3 234 97 779 9 87 34 96 756 846 138 2 65 696 93 5 36 14 85 58 4 12 9 23 262 23 47 89 41 7 6953 294 614 913 4 8 2 21 469 78 3 4 51 3 18 335 43 899 359 33 19 954 841 7 3 146 318 97 357 3623 7 2 8 17 417 63 68 563 655 397 67 5 75 17 1 2 4 4822 624 859 18 17 4 7388 59 25 151 4 9343 7 3 8441 7 64 36 2 69 389 34 85 63 43 38 29 43 44 77 97 453 86 48 387 57 635 79 4 226 4 215 413 462 215 646 3 9 4652 39 49 31 5 64 788 59 5533 6 8 27 555 417 929 455 421 43 2 56 7 5 9 12 4 47 3 881 41 59 5 922 88 298 684 7 39 7177 41 16 59 7 343 2 8515 78 432 711 97 39 54 369 923 64 874 749 9 238 19 753 5437 87 15 6 3 342 21 35 38 3 26 21 599 82 697 4 565 165 58 67 429 1 46 54 64 4 96 25 9337 5 65 988 47 643 72 112 1 352 6726 915 814 8 8 41 389 81 441 2828 76 86 64 1 87 549 851 5 3 517 36 73 1 95 4 868 1633 2424 37 58 84 7698 6614 5 75 79 321 723 151 692 53 4184 151 27 2 34 9 18 77 23 7 51 432 97 984 35 18 72 8 834 816 29 14 7 83 9 769 9 126 59 66 15 24 43 3896 7 8942 6744 8 5 12 1472 73 15 71 93 592 151 23 74 49 66 873 8 72 5 286 727 217 28 514 95 376 2 8593 875 71 39 7 138 692 91 91 66 37 148 19 869 17 15 1 78 62 78 1 37 7 1 97 344 345 25 956 6 86 48 15 88 7457 82 95 4 391 521 36 67 154 4 65 6836 911 1225 34 14 412 8 15 213 84 27 84 321 141 4 6 988 7 33 47 44 8 9298 764 54 223 627 1 14 77 72 6667 8134 5341 41 314 55 812 153 48 41 8671 1 3 31 3 649 91 494 5 56 766 84 41 25 44 35 56 1449 71 42 58 21 65 6 62 1 531 869 67 64 371 53 9217 77 8 3 16 23 692 46 16 9 528 831 15 9 57 1272 8 9 43 11 782 495 3134 311 125 719 3 5619 859 7 468 1979 1 96 77 6 531 5 46 84 2 119 5 4 91 135 26 57 535 69 14 66 3187 82 45 5 641 897 2 1955 8424 586 2778 13 383 9 3849 879 347 84 93 29 22 4984 22 376 45 4 243 283 5 11 145 957 76 686 18 4 12 379 22 69 132 31 55 6 4 646 492 392 8 63 68 92 584 9652 758 1461 43 689 68 8 15 141 13 896 29 7 7167 92 231 45 2 647 7 84 4 585 823 9461 31 4695 134 112 296 15 4 2 54 8 216 3484 64 246 814 5 955 97 261 27 975 92 686 7 5 8285 3 44 69 94 741 89 19 71 97 579 42 8361 695 72 8 18 27 9453 849 5 544 62 64 99 1 26 7 293 8 23 23 537 65 4 22 92 95 92 524 42 68 835 23 79 23 83 432 16 72 686 248 39 8 7264 8 195 91 834 545 42 71 729 6 6318 81 334 535 29 31 997 8 83 7255 1 48 356 189 135 6273 1 275 658 48 65 32 8
|
||||
396 6981 61 88 8878 496 22 56 189 23 58 934 89 78 74 587 87 47 52 837 792 9199 34 4329 15 5 767 2593 54 252 673 76 79 191 3 472 53 69 128 419 7978 8749 3714 276 382 476 458 183 57 216 364 77 76 774 82 69 64 42 762 67 17 1661 3 74 38 22 962 437 624 898 7 928 69 22 65 119 8764 23 637 49 59 75 387 95 27 164 6 573 5 19 2 55 99 19 899 55 36 236 1827 71 535 177 36 34 195 52 96 565 17 751 986 5514 17 62 57 46 73 158 2 7413 396 228 475 749 832 76 16 6381 446 236 4 211 788 642 9 995 28 744 423 34 429 34 814 23 6734 225 34 982 639 36 69 77 465 27 75 72 1458 4194 349 71 2653 1885 619 85 6466 7585 336 385 92 2126 28 341 593 7242 184 13 732 28 739 22 314 368 27 797 61 91 191 76 49 924 7167 738 46 85 621 715 762 767 68 94 124 69 229 348 63 61 77 93 867 658 21 43 3 28 132 7 32 64 7 281 42 498 125 37 53 61 549 61 312 19 45 9 67 65 29 372 58 3 1679 741 31 732 547 2693 137 5645 817 44 573 26 352 444 9195 75 6522 264 65 92 822 87 496 4 85 34 6916 459 18 6694 478 33 244 595 36 59 762 13 98 526 527 277 72 283 9177 794 28 696 18 283 1529 631 23 34 6 18 694 249 377 28 33 369 39 5746 67 35 69 32 771 9879 96 83 121 2225 88 73 616 96 938 51 421 86 25 748 872 388 337 74 716 563 4 99 93 53 254 4 67 67 58 848 724 84 78 3 69 111 792 537 385 7 75 82 378 565 12 94 451 57 3 26 355 85 682 867 38 478 32 972 5 63 1162 75 63 325 9775 8 65 9 7137 513 94 83 86 679 221 77 67 55 25 24 827 6 4982 356 986 2863 81 3 553 177 75 748 7 6657 4 12 1572 4 63 76 85 66 837 79 75 56 17 82 24 85 74 36 451 79 88 28 658 97 352 533 3 924 59 98 884 495 963 442 28 49 4481 38 46 77 89 83 8559 63 1787 3 34 17 845 3788 632 186 475 34 45 21 11 636 61 91 3 792 2 258 11 15 4 378 59 847 785 25 49 866 46 28 787 341 528 73 6817 51 458 778 25 45 28 1416 234 15 963 131 2 865 59 13 3167 765 38 64 93 223 37 18 6349 4 272 78 9134 132 363 793 315 11 76 57 626 76 63 871 42 32 8938 795 4197 6 12 9 74 92 256 529 26 417 3384 872 289 43 465 487 568 54 327 9195 268 33 67 35 84 178 338 52 1 268 6595 465 2 23 41 543 1385 1697 24 21 16 3917 9122 31 43 39 798 357 911 698 93 5892 344 55 44 1724 74 97 483 558 152 17 543 49 595 83 86 14 8 955 862 9169 85 5 45 127 964 58 278 11 33 439 15 14 4581 89 254 8391 8 64 75 2883 42 11 27 261 223 978 28 58 74 72 465 94 43 12 553 737 912 265 432 1 226 49 654 736 59 67 76 523 986 47 52 69 26 499 34 27 38 52 71 96 99 4 15 97 24 4 33 985 647 44 191 4 79 56 337 865 3121 71 34 9 227 496 74 965 115 3 76 8241 259 2937 54 57 984 99 69 9219 98 67 35 783 239 9 16 663 16 74 46 54 15 2827 524 12 123 53 35 91 33 232 2865 3212 3495 74 849 65 163 1387 847 93 4113 19 3 46 28 769 19 753 7 79 678 28 36 65 28 557 413 2553 79 84 37 96 839 74 43 5 234 649 38 525 92 78 1864 39 1 4 92 85 638 41 54 17 338 498 35 22 66 2886 25 9 55 562 681 216 2574 947 396 983 632 4662 739 24 48 5684 2 4 4357 5 925 4 43 14 86 24 38 21 49 96 47 77 815 62 16 9 1172 43 14 34 827 611 52 5746 2635 136 5443 11 996 4 2653 485 376 37 46 59 15 7239 353 725 55 43 155 847 76 19 658 271 84 441 38 28 14 336 88 25 871 611 4 43 73 459 998 326 79 72 628 776 323 4119 182 3675 53 68 827 49 29 287 12 5546 11 79 7423 91 233 65 1 438 45 44 49 877 41 5329 64 7984 899 928 351 58 39 7 6 62 135 134 26 823 383 16 536 11 517 684 414 39 13 32 7 787 2 23 622 71 216 93 72 76 31 843 58 859 378 75 2 52 545 4994 795 2 432 96 16 586 44 54 6 729 12 8868 86 459 51 7 6672 55 96 66 682 62 732 727 45 57 92 22 26 76 15 233 584 19 97 8584 9 237 92 971 965 81 98 927 3 9937 14 426 936 28 45 664 4 44 342 19 936 569 223 937 991 134 857 493 11 11 55 28
|
||||
287 3485 83 17 3576 929 26 31 133 49 42 912 7 77 3 477 16 1449 16 145 52 1593 91 1745 34 43 76 4991 82 23 2 86 34 81 33 343 82 27 662 232 9188 593 8421 178 917 41 688 561 8 254 157 17 1 693 8 848 92 99 148 47 25 7314 28 513 37 6 946 92 185 1577 4937 37 4 93 42 159 6525 22 48 15 661 69 45 848 63 973 46 157 2 52 9 24 11 38 743 35 93 414 7349 31 45 56 457 57 878 12 47 313 21 549 852 277 72 86 55 6624 639 763 94 7174 882 756 71 447 481 11 93 6553 4573 1835 1 332 932 235 64 83 43 365 774 52 928 83 12 22 7954 36 756 5272 858 28 611 82 157 65 48 6 575 571 157 54 2812 259 323 16 6364 1376 297 868 39 18 33 1492 997 85 112 71 4165 112 584 316 183 884 153 351 23 29 163 128 673 167 5286 853 92 85 611 496 991 321 7 63 393 72 226 627 76 38 21 99 981 796 1 62 12 228 78 42 48 65 9 834 27 7625 7723 63 48 646 99 14 851 53 367 97 54 92 58 481 57 46 3649 346 69 34 969 1217 686 581 425 227 932 88 997 689 4768 61 622 751 26 375 73 81 711 3 78 6 1999 811 84 2175 669 2 53 523 65 86 571 42 21 448 31 581 4 597 9782 262 12 958 87 4263 392 377 86 826 94 46 658 798 791 31 41 764 96 9615 43 52 35 51 772 934 4695 1 295 86 816 52 481 34 92 58 583 97 31 664 984 515 279 67 18 283 24 3 28 18 2934 31 68 68 17 572 751 19 94 2 68 981 154 89 186 58 13 74 361 6794 21 68 581 73 93 77 51 323 996 844 62 985 95 212 98 826 6213 17 942 63 482 1 34 17 1553 1 599 87 16 55 477 4 53 1 93 39 218 35 822 387 74 7311 966 71 144 1637 81 688 18 9365 8 31 1951 875 36 11 25 89 767 12 41 18 82 296 86 75 67 39 498 57 66 952 352 53 31 215 21 423 44 94 744 148 268 269 52 171 5419 86 81 348 74 87 5596 36 745 84 127 47 937 9351 679 772 17 14 35 78 96 156 24 91 75 673 45 69 55 5 861 3 74 13 64 78 46 575 98 4125 245 145 618 597 5584 1 965 345 32 9 83 9814 6 446 815 561 17 55 45 63 7376 768 38 97 94 775 98 2 9176 42 395 65 7864 466 554 496 392 58 2194 25 694 21 98 763 85 33 4344 122 9679 222 15 9 25 6 317 526 51 59 636 99 821 36 696 259 62 78 167 8493 194 55 414 679 11 379 538 32 66 858 7347 541 87 33 92 694 717 359 96 42 16 517 8269 69 21 28 576 576 235 78 797 1597 728 16 87 9596 53 34 926 288 687 1 295 57 79 62 43 63 54 771 4117 8497 22 76 56 981 252 616 12 57 11 886 45 88 2221 423 516 576 71 783 14 7377 39 54 82 364 148 296 97 94 39 18 24 75 93 68 26 466 987 754 8 8 385 638 654 125 35 97 13 192 516 277 54 84 89 823 48 43 87 86 87 83 54 9 388 39 79 58 56 434 747 76 26 57 99 96 994 5289 8665 17 73 48 298 234 731 617 351 624 42 1234 92 937 7 65 578 967 187 4781 24 984 45 29 457 89 63 8 518 77 99 26 32 478 158 34 124 65 87 66 38 759 6429 277 7571 564 65 86 58 6591 872 129 753 89 8 91 81 788 28 367 82 15 55 12 67 77 13 3537 812 6434 42 92 2839 89 764 79 42 84 276 45 59 915 74 61 944 68 55 93 5 55 982 74 64 34 287 7419 16 646 78 9412 54 91 82 617 25 854 9969 682 296 688 995 344 9339 28 78 9378 28 6 6685 6 719 96 1161 681 45 63 51 84 69 14 83 1 617 1 57 8 6199 97 2467 839 788 374 92 55 94 595 345 936 6824 64 3733 143 94 133 31 98 54 3694 941 963 38 64 115 155 855 329 314 859 448 469 12 73 57 292 22 87 424 5775 6 438 57 663 457 933 37 42 7656 961 7 9384 589 589 71 68 597 99 17 266 47 3274 84 88 676 43 5 35 9 36 68 73 319 884 45 191 18 972 691 218 213 11 56 79 5 22 37 454 32 37 926 76 53 18 83 612 585 8 49 168 243 969 1 75 927 44 87 78 15 275 67 315 71 613 579 88 45 88 735 436 1 44 879 81 49 457 413 6 26 215 53 1154 34 251 843 192 7845 2762 46 21 81 416 194 155 24 49 61 26 79 58 187 546 43 76 189 467 97 991 29 5 396 94 38 648 24 4964 2 464 26 224 45 19 253 51 612 92 2164 9758 141 942 52 5588 215 691 78 43 99 155
|
||||
655 4247 97 83 257 518 33 78 634 552 54 596 4 9 8 347 17 4926 84 975 2 5732 892 49 12 76 71 3211 87 9 4 6 57 4 66 247 5 92 981 268 1935 139 758 86 476 17 436 974 1 652 774 32 7 615 2 831 74 4 763 18 3 37 51 3741 2 2 323 41 644 5638 8931 66 6 33 35 231 7234 28 1 35 946 58 98 225 48 8 51 6 5 386 8 81 8 61 16 9488 65 134 2172 2 55 12 723 97 66 7 58 272 9 443 767 9 63 28 1 6675 262 187 23 211 693 518 3 3 259 9 68 223 2931 2831 4 977 128 136 68 31 89 691 491 23 75 93 71 86 522 23 813 6798 75 6 126 46 872 93 23 9 446 299 82 2 37 23 993 45 498 65 434 65 5 1 41 2858 592 15 896 54 8294 5257 956 526 235 982 925 821 71 82 19 837 869 65 927 334 53 176 382 241 172 573 7 6 83 4 272 1 14 78 62 32 26 131 4 19 9728 673 6 99 48 97 33 113 9 7892 7575 4 29 188 4 83 639 9 314 97 57 48 87 561 8 29 9553 6 27 5 73 3546 635 73 655 197 918 3 1 57 3765 61 57 6 92 471 45 83 547 5 93 7 595 393 2 2998 847 1 4 399 39 65 951 72 8 264 89 892 3 766 61 165 82 45 34 5443 155 92 89 663 96 39 728 36 7 69 75 51 35 4435 35 76 21 95 6329 97 1772 4 127 7 692 672 33 49 59 75 644 83 235 844 582 177 318 6 6 229 55 9 89 1 3785 97 31 59 24 669 395 54 52 4 47 7 88 52 447 84 38 58 433 9843 95 81 998 4 44 6 2 362 1 17 1 514 8 8765 29 112 9446 4 485 3 756 19 34 997 8317 4 651 12 1 58 62 7 26 8 3 61 551 75 98 8 4 5867 379 27 559 3553 7 124 51 913 48 64 135 892 14 25 76 49 9 88 1 93 26 226 85 22 76 44 781 9 112 831 91 5 89 919 61 489 47 5 456 173 74 134 38 416 64 93 8 341 85 79 5687 83 32 81 836 82 911 5331 82 24 38 83 83 92 34 959 363 59 51 218 48 19 46 5 655 7 9 9 33 15 7 634 616 8376 931 736 958 965 967 1 43 525 76 7 88 3866 5 634 642 95 46 4 96 9 2391 299 46 14 99 237 42 3 6281 87 1439 75 9758 131 81 762 167 8 1914 3 855 75 79 578 15 37 7134 792 325 424 9 7 66 4 227 31 551 36 38 31 444 99 5229 317 41 75 491 366 854 31 255 972 96 925 24 55 26 43 2432 611 26 23 27 48 63 65 17 39 43 93 22 41 4 68 579 957 649 7 976 5 453 23 54 3677 39 9 834 7843 167 1 242 32 11 84 92 66 53 6195 7362 8389 7 41 71 672 796 284 5 4 83 8787 76 8 4855 485 56 684 14 512 5 278 86 4 27 835 6 23 72 7 627 78 28 89 2 54 1 73 3 6339 5 5 912 984 861 79 8 24 268 925 99 397 567 52 18 63 12 97 3 39 56 9 56 5 972 2 95 86 61 461 781 1 12 38 26 38 979 6975 833 8 74 87 671 49 648 358 32 342 3 814 38 753 6 9 89 737 748 4943 96 1688 73 87 162 86 84 5 374 25 31 466 1943 83 376 653 56 9 69 37 1 743 89 53 16 882 1 67 89 8594 626 253 92 75 34 48 87 722 1 289 65 9 44 13 25 13 51 3568 271 3211 96 8 8488 34 813 26 95 83 33 4 4 336 49 73 75 88 44 159 7 86 561 45 43 89 93 4616 66 328 96 16 45 92 41 943 41 362 437 72 571 774 884 58 8381 66 45 89 27 5 1467 99 791 81 7139 5578 24 9 57 34 21 7 187 8 768 6 16 1 8551 37 1539 229 421 3 62 23 21 855 41 999 4795 13 84 13 79 165 7 72 23 2 627 39 16 215 185 44 385 216 755 24 847 51 96 12 12 24 8 1 359 7156 5 719 64 23 647 153 65 87 2848 286 7 8455 837 82 49 9 292 71 1 474 5 9336 66 29 157 6 4 21 11 14 77 6 474 289 33 94 4 83 183 95 278 9 19 77 6 79 52 78 67 99 8 39 24 32 7 775 49 5 3 531 578 511 59 23 794 22 15 84 48 363 83 5331 8 81 692 5 85 59 598 687 1 99 896 5 7 694 551 4 68 72 17 3623 59 6 491 827 2732 3721 66 93 72 676 156 6 95 11 44 46 22 4 323 74 91 8 315 34 12 3 1 8 194 34 11 1 47 5538 1 79 9 152 27 46 329 5 314 86 5955 1963 53 799 41 1292 814 91 49 46 95 429
|
||||
* + * + + * * + + + + * * * * * * + * + * + * + + * * + + * + * * * + * * + * * + + + + * * * * + * * * * * * + * + * + * + * + + * * * + + + + + * + * + + * * + + * * * + + * + * + + * * + + * * + * + + * * + * + * * + * + * + + + + * * + * * * + * * * + + + * * * * + + * + + + * * + * + * * + + * * * + + + * + + * * + + + + + + * * * + + + * + * * + + * * * * * + + * * + * * + + * + * * * * * * + * + * + * * * * * + * + + * + * + + * * + + + * + * * * * * + + + + + + + + * * * * + * + + * + * * * + + + + * * * * * * + + + + * + + * + + * * + + * * * * * * + + + + + + + * + * + * * + + * * * + + + + + * + + + * * + * + * * * * * + * * * + * + * * * * + * + * + * * * * * * + + + * * * + + * + + * * * + * + * + * * + + + + * * + * * + + * * * + + + + * + * * * * * * + * + * * + + * + + * * * + * * + + + * * * + * + + * * * + + * * * * * * + * + * + * * * * * * * * + * + * * * + * + * + + + + * * + * * * * + + * + * * * * + + * * * * * * + * + + + * * + * * * * * * + * + * * * * + * + + * + * * + + + * + * + * * + + * + * * + + + * + + * + * * + * + * * + * + * * * + * * * + + + + * + + + * + * * + + * + + * + + * + * + + * * + + + + + + + * + + + * + + + * * * + * + * + * + + + + * + * * + + * + + + + + + + + + + * + + * * * + * + * * + * * + * * * + + * + * * + + + + * * + * * * * * + * * * * * * + * + + * * * * * * * + * + + + + * * * + * * * * + + * + * * * * + + * + * * * * + * * + * * + + + + * + * + * * + + + * + * * + * + + * + + * * * * * * + * * * * + * + * * + + * + + * * * + * * + + * * + + * * * * + * + * + * + * * + + * + + + * * + + + * + + + + + * * * + + * * * * * + * * * + + * + * + * * * + + + + + * + + + * * + * * + + * + * * * * * * * * + + + + * * + + + + * + * * + * + * + + * + * + + * * * * + + + + * + * * + * * * + * * + + * + * + + * * + * + * + * * + + * + * + * * + * * + * + + * * * + * * + + + * * + * + + * * * * + + * * + + * + * + + * + + * + * * + + * * + * + * + + * * + + * * * + * * + * * + * + * * + * * * + + + + * + + + * * * + + *
|
||||
|
|
@ -0,0 +1,232 @@
|
|||
#!/usr/bin/perl
|
||||
use strict;
|
||||
use Config;
|
||||
$Config{useithreads} or
|
||||
die('Recompile Perl with threads to run this program.');
|
||||
use threads;
|
||||
use Thread::Queue;
|
||||
|
||||
|
||||
my @lines;
|
||||
{
|
||||
my $splits=0;
|
||||
my %positions;
|
||||
my %nextpositions;
|
||||
while(my $line=<DATA>) {
|
||||
chomp($line);
|
||||
push @lines, $line;
|
||||
for(my $i=0; $i<length $line; $i++) {
|
||||
my $c = substr($line, $i, 1);
|
||||
|
||||
if($c eq 'S') {
|
||||
$nextpositions{$i}=1;
|
||||
} elsif($c eq '.' && $positions{$i}) {
|
||||
$nextpositions{$i}=1;
|
||||
} elsif($c eq '^' && $positions{$i}) {
|
||||
$splits++;
|
||||
$nextpositions{$i-1}=1 unless($i == 0);
|
||||
$nextpositions{$i+1}=1 unless($i == length($line)-1);
|
||||
}
|
||||
}
|
||||
|
||||
%positions=%nextpositions;
|
||||
%nextpositions=();
|
||||
}
|
||||
|
||||
print "Saw $splits splits\n";
|
||||
}
|
||||
|
||||
my @rows;
|
||||
my $startpos;
|
||||
for(my $y=0; $y<@lines; $y++) {
|
||||
for(my $x=0; $x<length $lines[0]; $x++) {
|
||||
$rows[$x]=[] if($y==0);
|
||||
$rows[$x][$y] = substr($lines[$y], $x, 1);
|
||||
if($rows[$x][$y] eq 'S') {
|
||||
$startpos=[$x,$y];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
my $ends = 0;
|
||||
my $numworkers = 16;
|
||||
my $queue = Thread::Queue->new();
|
||||
my @threads;
|
||||
|
||||
$queue->enqueue($startpos);
|
||||
for(my $i=0; $i<$numworkers; $i++) {
|
||||
push @threads, threads->create(\&process);
|
||||
}
|
||||
|
||||
foreach my $thread (@threads) {
|
||||
my $count=$thread->join();
|
||||
print "Joined thread with $count ends\n";
|
||||
$ends+=$count;
|
||||
}
|
||||
print "$ends total ends\n";
|
||||
|
||||
sub process {
|
||||
my $ends = 0;
|
||||
while(my $pos=$queue->dequeue_timed(5)) {
|
||||
my($x,$y)=@$pos;
|
||||
|
||||
for(;;) {
|
||||
$y++;
|
||||
if($y == @{ $rows[$x] }) {
|
||||
$ends++;
|
||||
last;
|
||||
} elsif($rows[$x][$y] eq '^') {
|
||||
$queue->enqueue([$x-1, $y]);
|
||||
$queue->enqueue([$x+1, $y]);
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $ends;
|
||||
}
|
||||
|
||||
|
||||
|
||||
__DATA__
|
||||
......................................................................S......................................................................
|
||||
.............................................................................................................................................
|
||||
......................................................................^......................................................................
|
||||
.............................................................................................................................................
|
||||
.....................................................................^.^.....................................................................
|
||||
.............................................................................................................................................
|
||||
....................................................................^.^.^....................................................................
|
||||
.............................................................................................................................................
|
||||
...................................................................^...^.^...................................................................
|
||||
.............................................................................................................................................
|
||||
..................................................................^.^...^.^..................................................................
|
||||
.............................................................................................................................................
|
||||
.................................................................^...^.^.^.^.................................................................
|
||||
.............................................................................................................................................
|
||||
................................................................^.^.........^................................................................
|
||||
.............................................................................................................................................
|
||||
...............................................................^.^...^.^.^.^.^...............................................................
|
||||
.............................................................................................................................................
|
||||
..............................................................^.^.^.^.^.^.....^..............................................................
|
||||
.............................................................................................................................................
|
||||
.............................................................^.^.....^...^.^.^.^.............................................................
|
||||
.............................................................................................................................................
|
||||
............................................................^...^.....^.^...^.^.^............................................................
|
||||
.............................................................................................................................................
|
||||
...........................................................^.....^.^.^.^.^.^.^.^.^...........................................................
|
||||
.............................................................................................................................................
|
||||
..........................................................^...^...^.....^.^...^.^.^..........................................................
|
||||
.............................................................................................................................................
|
||||
.........................................................^.^.....^.^.....^.^.^.^.^.^.........................................................
|
||||
.............................................................................................................................................
|
||||
........................................................^...^.^.^.^...^.^.....^.....^........................................................
|
||||
.............................................................................................................................................
|
||||
.......................................................^.^.^.^.^.^.....^.....^.^.^.^.^.......................................................
|
||||
.............................................................................................................................................
|
||||
......................................................^.^.....^.^.^.....^.^...^...^.^.^......................................................
|
||||
.............................................................................................................................................
|
||||
.....................................................^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.....................................................
|
||||
.............................................................................................................................................
|
||||
....................................................^.^.^...^.^.^.^.^.^.^.^...^...^.^.^.^....................................................
|
||||
.............................................................................................................................................
|
||||
...................................................^.^...^.^.^.^.^.^...^.^.^.^.^...^...^.^...................................................
|
||||
.............................................................................................................................................
|
||||
..................................................^.^.^.^...^.^.^.^.^.^.^...^.^...^.^...^.^..................................................
|
||||
.............................................................................................................................................
|
||||
.................................................^.^.^.^...^.^.......^.^.^.^.....^.^.^.^.^.^.................................................
|
||||
.............................................................................................................................................
|
||||
................................................^...^.^.^.^.^.^.^.^.^.^.....^.^.^...^.^.^...^................................................
|
||||
.............................................................................................................................................
|
||||
...............................................^.....^...^.^.^.^.^...^...^.^.^.^.^.^.^.^...^.^...............................................
|
||||
.............................................................................................................................................
|
||||
..............................................^...^.^...^.^...^.....^.^.^.^.^.^...^.^.^.......^..............................................
|
||||
.............................................................................................................................................
|
||||
.............................................^.^.^.^.^...^.^.^.^.^.^...^.....^.^.....^.^.^...^.^.............................................
|
||||
.............................................................................................................................................
|
||||
............................................^.^.^.^.^.^.^.^.^.^.^...^.^.....^...^.^...^.^.^.^...^............................................
|
||||
.............................................................................................................................................
|
||||
...........................................^.^.....^.^.....^.^.^.^.^.^.^.^.^.^...^.^...^.^.^.....^...........................................
|
||||
.............................................................................................................................................
|
||||
..........................................^.^.^...^.....^.^.^.^.^...^.^.....^.^.^.^...^...^.^...^.^..........................................
|
||||
.............................................................................................................................................
|
||||
.........................................^.^...^.^.^.^.^.^.^.^.^.^.^.....^.....^.^.^.^.^.^.^.^.^.^.^.........................................
|
||||
.............................................................................................................................................
|
||||
........................................^.....^.^...^.^.^.^.....^.^.^.^...^...^.^.^.^.^...^.^...^.^.^........................................
|
||||
.............................................................................................................................................
|
||||
.......................................^.^.^.^.....^.^.^.......^.^.........^...^.^.^.^.....^.^.....^.^.......................................
|
||||
.............................................................................................................................................
|
||||
......................................^.^.....^.^.^...^.^...^.^.......^.^...^.^.^.^.^.^...^.....^.^...^......................................
|
||||
.............................................................................................................................................
|
||||
.....................................^.^.^...^.^.^.^.^.....^.^...^.....^.....^...^.^...^.......^.^.^.^.^.....................................
|
||||
.............................................................................................................................................
|
||||
....................................^.^.^...^...^.^.^...^.^...^.^.^.^.......^.....^.....^.^.......^.^.^.^....................................
|
||||
.............................................................................................................................................
|
||||
...................................^.^.^.^.^...^...^.^.^.^.^.^.^.^.^.^.......^.^...^.^...^.^.^.^.^...^.^.^...................................
|
||||
.............................................................................................................................................
|
||||
..................................^...^.^.^.^...^.......^.^.^...^.^.......^.^.^.....^...^...^.^.^...^.^...^..................................
|
||||
.............................................................................................................................................
|
||||
.................................^...^.......^.^.^.....^.^...^.^...^.^.^.^.^.^.....^.^...^...^.^.^...^...^.^.................................
|
||||
.............................................................................................................................................
|
||||
................................^.^.^...^.^.^.^.^.^.^...^...^.^.......^.^...^.^.^...^.^...^.^.^.^.^...^...^.^................................
|
||||
.............................................................................................................................................
|
||||
...............................^.^.....^.^.^...^.^.^.^...^.........^.^.^.^.........^.^.^...........^.^.^.^...^...............................
|
||||
.............................................................................................................................................
|
||||
..............................^.^...^.^...^...^...^...^.^.^.^.^.^...^.^.^...^.^.^...^.....^.^.^...^...^.^.^...^..............................
|
||||
.............................................................................................................................................
|
||||
.............................^.^.^.^.^.^.^.....^.^.^.^.^.^.....^...^.^.^.......^.^.^.^.....^.........^.^.^.....^.............................
|
||||
.............................................................................................................................................
|
||||
............................^...^...^.^.^...^...^.^.^.^.^.^.^.^.^.^.......^.^.......^.^.....^.^.^.^...^.^...^...^............................
|
||||
.............................................................................................................................................
|
||||
...........................^.^.^...^.^.^.....^.....^.^.......^.^.^.....^.^.^...^.....^...^.^.^.^.....^.^.^.^.^.^.^...........................
|
||||
.............................................................................................................................................
|
||||
..........................^.....^.....^.^...^.^.^.^.^.^...^.^.^.^.^.^...^.^...^.^.^...^.^.^.....^.^.^...^.^...^...^..........................
|
||||
.............................................................................................................................................
|
||||
.........................^.^...^.^.^.^...^.^...^.^.........^.......^.^.^.^.^.^...^.^.^.^.^.^.^...^.^.^...^.^.^.^...^.........................
|
||||
.............................................................................................................................................
|
||||
........................^...^.^.^.^...^.^...^...^.^...^.^.^...^.^.^.^.^.^...^.^.^...^.......^.^.^.^.^...^.....^...^.^........................
|
||||
.............................................................................................................................................
|
||||
.......................^.^.^...^.^.^.....^.^...^.^.^...^...^.^.^...^.^.^...^.^.....^.^.^.^.^...^.^.........^.^.^.^.^.^.......................
|
||||
.............................................................................................................................................
|
||||
......................^.^.^.^...^.^.^.^.^.....^.^.^.....^.^.^.^.^...^.^.^.....^.^.....^...^.^.^.^.....^...........^.^.^......................
|
||||
.............................................................................................................................................
|
||||
.....................^.^.^.^.^.^...^.^.^.^.^.....^.^...^...^...^.^.^.^.^.....^.^.^.....^.^...^.......^.^.^.....^.^.^.^.^.....................
|
||||
.............................................................................................................................................
|
||||
....................^...^.^.......^.^.^.^.^.^.........^.^.^.^.......^.^...^.^.^.^.^.^.^.^.^...^.^.^.....^.^.^.^.^.^.^.^.^....................
|
||||
.............................................................................................................................................
|
||||
...................^.^.......^.^...^.^.^.^.^.^...^.^...^.^...^.....^.^.^...^.^...^.^.^.^.^...^...^.^.....^.^...^.^.^.^.^.^...................
|
||||
.............................................................................................................................................
|
||||
..................^.^.........^.^.^...^.^...^...^.^.^.^.^.^.^.^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.^...^.^.^.^.^...^.....^...^.^..................
|
||||
.............................................................................................................................................
|
||||
.................^.^.^...^.^.^.^.^.......^.^.....^.^...^.^.^...^.^.^...^.^.^.^.^...^.......^.^...^.^.^.........^.^...^.^.^.^.................
|
||||
.............................................................................................................................................
|
||||
................^.....^.^.^...^.^.^.^.^...^.^.^.^.^.^.^.^...^.^.^.^.^.^.^...^...^.^...^.^.^.^...^.^.^.^.^.^.....^...^.....^.^................
|
||||
.............................................................................................................................................
|
||||
...............^.....^.^.^.^.^.^.^.^.^.^...^.^...^...^...^...^...^.^.^.^.........^.^.^.^.^...^.....^.^.......^...^...^.^.^.^.^...............
|
||||
.............................................................................................................................................
|
||||
..............^.^.^.^.^.^.^...^.^.^.^.^.^.^.^...^.^.^.^...^.^...^.^.^.^.^...^.^.^.^.^.^.^.^.....^.^...^.^.^.^.^...^.....^.....^..............
|
||||
.............................................................................................................................................
|
||||
.............^.^...^.^.....^.......^.....^.....^.^...^.^.^.^.....^.^.....^.....^.^...^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.............
|
||||
.............................................................................................................................................
|
||||
............^.^...^.^.....^.^.^.^.^.^.^.^...^...^.^.^.^.^.^.^.^.^.^.^...^.....^.^...^...^.........^.^...^.^...^.^.^.^.^.^.^.^...^............
|
||||
.............................................................................................................................................
|
||||
...........^...^.^.^...^.^...^...^.^...^...^.^.^.^...^.^.^...^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.^.^.....^.^.^.^.^...^.^.^.....^.^.^.^...........
|
||||
.............................................................................................................................................
|
||||
..........^.^.........^.^...^.....^.^.^.^.^.^.^.^...^...^...^.^.^.^.^...^.^.^...^...^...^.^.^...^.^.^.^...^.^.^.^...^.....^...^...^..........
|
||||
.............................................................................................................................................
|
||||
.........^.^.^.^...^...^.^.^.^...^.^.^.^.^.^.....^...^.^.....^.^...^...^.^...^.^.^.^...^.^...^...^.^.^.^...^...^.....^.^.^...^...^.^.........
|
||||
.............................................................................................................................................
|
||||
........^...^.^.^.^...^.^.^.^.^.^.^...^.^.^.........^...^.^.^.^.....^.^...^.^.^.^.^.....^.^.^.^.^.^.^.^.^.^...^.^.^.....^.^.....^.^.^........
|
||||
.............................................................................................................................................
|
||||
.......^.......^.^.^.^...^.^...^.^...^.^.^.^.^.^.^.^.^...^.^.^...^...^...^.^.^...^.^.^...^.^.^.^.^.^.^...^.^.....^.^.^...^.^.^...^.^.^.......
|
||||
.............................................................................................................................................
|
||||
......^...^...^.^.....^.^.^.^.^.^.^...^.^.^.^...^.^.^...^.^.^.....^.^.^.....^.^.^.^.^...^.^.^.^.....^.^.^...^.^.^.....^.^.^.^.^.^...^.^......
|
||||
.............................................................................................................................................
|
||||
.....^.....^.^.^.^.^...^.........^.....^.......^.^.^...^.^.......^.^.^.^...^.^.^.^.^...^.^.^.^.^.^.^...^...^.^.^...^...^.^...^.^.....^.^.....
|
||||
.............................................................................................................................................
|
||||
....^.^.^.^...^.^.^.^.^.^.^...^.^.^.^.....^.^.^.....^.^.^.^...^.....^.^.....^...^.^...^.^.^.^.^.^.^.^.^.^.^.^.^.^...^.^.^...^.^.^...^...^....
|
||||
.............................................................................................................................................
|
||||
...^...^.^.^.^.^.^...^.^.^.^.^.^.^.^.....^...^.^.^.^.^.^.....^.^.^.^.^.^...^.......^.^...^...^.^.^.^...^.^.^...^.^.^.^.^.^.^.^...^.^.^...^...
|
||||
.............................................................................................................................................
|
||||
..^.^.^.^...^.^.^.^.^...^.....^...^.^.^...^...^.^.^.^...^...^.^.^...^...........^.^.^.^.......^...^...^.^.^.^.^.^.^.^.^.^.^...^.^.^.^.^.^.^..
|
||||
.............................................................................................................................................
|
||||
.^.^.^.^.^.^.^.^.^.^.^.......^.^.^.^.^.^.^.^...^.^...^.^.^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.....^.^.......^.^.^.^.^...^...^.^.^.^.......^.....^.
|
||||
.............................................................................................................................................
|
||||
Loading…
Reference in New Issue