The Name Game

Cranberry Pi #2
Lobby

Hi, I'm Minty Candycane.

Can you help me? I'm in a bit of a fix.
I need to make a nametag for an employee, but I can't remember his first name.
Maybe you can figure it out using this Cranberry Pi terminal?
The Santa's Castle Onboarding System? I think it's written in PowerShell, if I'm not mistaken.
PowerShell itself can be tricky when handling user input. Special characters such as & and ; can be used to inject commands.
I think that system is one of Alabaster's creations.
He's a little ... obsessed with SQLite database storage.
I don't know much about SQLite, just the .dump command.

We just hired this new worker,
Californian or New Yorker?
Think he's making some new toy bag...
My job is to make his name tag.
 
Golly gee, I'm glad that you came,
I recall naught but his last name!
Use our system or your own plan,
Find the first name of our guy "Chan!"
 
-Bushy Evergreen
 
To solve this challenge, determine the new worker's first name and submit to runtoanswer.
PowerShell Command Injection hint from Minty Candycane
PowerShell Call/& Operator
SQLite3 .dump'ing hint from Minty Candycane
SQLite3 Data Dump

To solve this challenge, use command injection by injecting &sh into "Enter address of server".
Afterwards, dump the SQLite database with .dump and filter for relevant name Chan with grep.
Then only thing left is to launch runtoanswer and enter Mr. Chan's name, Scott.

    .;looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooool:'    
  'ooooooooooookOOooooxOOdodOOOOOOOdoxOOdoooooOOkoooooooxO000Okdooooooooooooo;  
 'oooooooooooooXMWooooOMMxodMMNKKKKxoOMMxoooooWMXoooookNMWK0KNMWOooooooooooooo; 
 :oooooooooooooXMWooooOMMxodMM0ooooooOMMxoooooWMXooooxMMKoooooKMMkooooooooooooo
 coooooooooooooXMMMMMMMMMxodMMWWWW0ooOMMxoooooWMXooooOMMkoooookMM0ooooooooooooo
 coooooooooooooXMWdddd0MMxodMM0ddddooOMMxoooooWMXooooOMMOoooooOMMkooooooooooooo
 coooooooooooooXMWooooOMMxodMMKxxxxdoOMMOkkkxoWMXkkkkdXMW0xxk0MMKoooooooooooooo
 cooooooooooooo0NXooookNNdodXNNNNNNkokNNNNNNOoKNNNNNXookKNNWNXKxooooooooooooooo
 cooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
 cooooooooooooooooooooooooooooooooooMYcNAMEcISooooooooooooooooooooooooooooooooo
 cddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddo
 OMMMMMMMMMMMMMMMNXXWMMMMMMMNXXWMMMMMMWXKXWMMMMWWWWWWWWWMWWWWWWWWWMMMMMMMMMMMMW 
 OMMMMMMMMMMMMW:  .. ;MMMk'     .NMX:.  .  .lWO         d         xMMMMMMMMMMMW 
 OMMMMMMMMMMMMo  OMMWXMMl  lNMMNxWK  ,XMMMO  .MMMM. .MMMMMMM, .MMMMMMMMMMMMMMMW 
 OMMMMMMMMMMMMX.  .cOWMN  'MMMMMMM;  WMMMMMc  KMMM. .MMMMMMM, .MMMMMMMMMMMMMMMW 
 OMMMMMMMMMMMMMMKo,   KN  ,MMMMMMM,  WMMMMMc  KMMM. .MMMMMMM, .MMMMMMMMMMMMMMMW 
 OMMMMMMMMMMMMKNMMMO  oM,  dWMMWOWk  cWMMMO  ,MMMM. .MMMMMMM, .MMMMMMMMMMMMMMMW 
 OMMMMMMMMMMMMc ...  cWMWl.  .. .NMk.  ..  .oMMMMM. .MMMMMMM, .MMMMMMMMMMMMMMMW 
 xXXXXXXXXXXXXXKOxk0XXXXXXX0kkkKXXXXXKOkxkKXXXXXXXKOKXXXXXXXKO0XXXXXXXXXXXXXXXK 
 .oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo, 
  .looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo,  
    .,cllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllc;.    
                                                                                

Congratulations!

There is also a hidden functionality, which can be accessed by entering 9 in menu. PowerShell will be launched.

Afterwards, chat with Minty Candycane:

Minty Candycane

Thank you so much for your help! I've gotten Mr. Chan his name tag. I'd love to repay the favor.
Have you ever visited a website and seen a listing of files - like you're browsing a directory? Sometimes this is enabled on web servers.
This is generally unwanted behavior. You can find sleighloads of examples by searching the web for index.of.
On a website, it's sometimes as simple as removing characters from the end of a URL.
What a silly misconfiguration for leaking information!

details

  • .bashrc
  • export PATH=$PATH:/home/elf
    trap '' SIGINT SIGQUIT SIGKILL SIGABRT
    /usr/bin/pwsh menu.ps1
    exit

  • (hide) menu.ps1
  • There is command injection vulnerability (lines 96-97).
    Also, a hidden functionality to launch PowerShell (lines 99-100).

    $global:firstrun = $TRUE
    
    function Show-Menu
    {
        $intro = @(
            "We just hired this new worker,",
            "Californian or New Yorker?",
            "Think he's making some new toy bag...",
            "My job is to make his name tag.",
            "",
            "Golly gee, I'm glad that you came,",
            "I recall naught but his last name!",
            "Use our system or your own plan,",
            "Find the first name of our guy `"Chan!`"",
            "",
            "-Bushy Evergreen",
            "",
            "To solve this challenge, determine the new worker's first name and submit to runtoanswer."
        )
        $header = @(
            "===================================================================="
            "=                                                                  =",
            "= S A N T A ' S  C A S T L E  E M P L O Y E E  O N B O A R D I N G =",
            "=                                                                  =",
            "===================================================================="
        )
    
        cls
        if ($global:firstrun -eq $TRUE) {
            Write-Host "`n`n"
            for ($i = 0; $i -lt $intro.length; $i++) {
                Write-Host $intro[$i]
            }
            $global:firstrun = $FALSE
        }
    
        Write-Host "`n`n`n"
        for ($i = 0; $i -lt $header.length; $i++) {
            Write-Host $header[$i]
        }
        Write-Host "`n`n`n"
        Write-Host ' Press '1' to start the onboard process.'
        Write-Host ' Press '2' to verify the system.'
        Write-Host ' Press 'q' to quit.'
        Write-Host "`n"
    }
    
    function Employee-Onboarding-Form
    {
        Write-Host "`n`nWelcome to Santa's Castle!`n`n"
        Write-Host "At Santa's Castle, our employees are our family. We care for each other,"
        Write-Host "and support everyone in our common goals.`n"
        Write-Host "Your first test at Santa's Castle is to complete the new employee onboarding paperwork."
        Write-Host "Don't worry, it's an easy test! Just complete the required onboarding information below.`n`n"
    
        $efirst = Read-Host "Enter your first name.`n"
        $elast = Read-Host "Enter your last name.`n"
        $estreet1 = Read-Host "Enter your street address (line 1 of 2).`n"
        $estreet2 = Read-Host "Enter your street address (line 2 of 2).`n"
        $ecity = Read-Host "Enter your city.`n"
        $epostalcode = Read-Host "Enter your postal code.`n"
        $ephone = Read-Host "Enter your phone number.`n"
        $eemail = Read-Host "Enter your email address.`n"
    
        Write-Host "`n`nIs this correct?`n`n"
        Write-Host "$efirst $elast"
        Write-Host "$estreet1"
        if ($estreet2) {
            Write-Host "$estreet2"
        }
        Write-Host "$ecity, $epostalcode"
        Write-Host "$ephone"
        Write-Host "$eemail"
    
        $input = Read-Host 'y/n'
        if ($input -eq 'y' -Or $input -eq 'Y') {
            Write-Host "Save to sqlite DB using command line"
            Start-Process -FilePath "./sqlite3" -ArgumentList "onboard.db `"INSERT INTO onboard (fname, lname, street1, street2, city, postalcode, phone, email) VALUES (`'$efirst`',`'$elast`', `'$estreet1`', `'$estreet2`', `'$ecity`', `'$epostalcode`', `'$ephone`', `'$eemail`')`""
        }
    }
    
    try
    {
        do
        {
            Show-Menu
            $input = Read-Host 'Please make a selection'
            switch ($input)
            {
                '1' {
                    cls
                    Employee-Onboarding-Form
                } '2' {
                    cls
                    Write-Host "Validating data store for employee onboard information."
                    $server = Read-Host 'Enter address of server'
                    /bin/bash -c "/bin/ping -c 3 $server"
                    /bin/bash -c "/usr/bin/file onboard.db"
                } '9' {
                    /usr/bin/pwsh
                    return
                } 'q' {
                    return
                } default {
                    Write-Host "Invalid entry."
                }
            }
            pause
        }
        until ($input -eq 'q')
    } finally {
    }
    

  • (hide) onboard.db
  • id fname lname street1 city postalcode phone email
    10KarenDuck52 Annfield RdBEALDN14 7AU077 8656 6609karensduck@einrot.com
    11JosephineHarrell3 Victoria RoadLITTLE ASTONB74 8XD079 5532 7917josephinedharrell@einrot.com
    12JasonMadsen4931 Cliffside DriveWorcester12197607-397-0037jasonlmadsen@einrot.com
    13NicholeMurphy53 St. John StreetCraikS4P 3Y2306-734-9091nicholenmurphy@teleworm.us
    14MaryLyons569 York Mills RdTorontoM3B 1Y2416-274-6639maryjlyons@superrito.com
    15LuzWest1307 Poe LanePaola66071913-557-2372luzcwest@rhyta.com
    16WalterSavell4782 Neville StreetSeymour47274812-580-5138walterdsavell@fleckens.hu
    17MichelleHicks82 Middlewich RoadFIRTHZE2 1BQ070 2607 0997michellejhicks@jourrapide.com
    18CarolynHarvey94 Friar StreetCLEETHORPESDN35 7YP078 3359 6177carolynmharvey@teleworm.us
    19JulieWestrick4261 Corpening DriveTroy48083248-457-6093julieswestrick@jourrapide.com
    20CaraHodge6 Clasper WayHEYSHOTTGU29 3ZX079 8870 5836cararhodge@armyspy.com
    21AshleyRamos2326 Lauzon ParkwayLeamingtonN8H 3B9519-329-7102ashleywramos@superrito.com
    22MarciaYee17 Holburn LaneHELPERBYYO6 2FT070 2717 2611marciamyee@armyspy.com
    23EricaMcIntosh4894 Port Washington RoadLeslievilleT0M 1H0403-729-0320ericaamcintosh@cuvox.de
    24FranklynGoldsmith25 Hillside StreetParadise Valley85253480-513-4464franklynngoldsmith@teleworm.us
    25ChristopherGreen4896 Lynden RoadMoonstoneL0K 1N0705-835-6976christopherngreen@fleckens.hu
    26ReggieLittle285 Kidd AvenueAnchorage99501907-932-8909reggiehlittle@gustr.com
    27MaryHawes91 George AvenueBelle Fontaine36607251-245-0433maryrhawes@gustr.com
    28BlancheWebster2695 Airport BlvdGanderA1V 2M7709-234-5453blancherwebster@dayrep.com
    29AntonioHerbert637 Lynden RoadLefroyL0L 1W0705-456-6107antoniogherbert@einrot.com
    30ElisabethGeorge4667 Harley Brook LaneJohnstown15904814-592-3905elisabethmgeorge@teleworm.us
    31MarkDinkins3593 Private LaneAlbany31701229-281-7470markndinkins@einrot.com
    32MelodyMendoza2900 Reserve StCastletonK0K 1M0905-344-8354melodywmendoza@gustr.com
    33ReginaldDuncan3606 Michigan AvenueBolivar15923724-676-9897reginaldvduncan@jourrapide.com
    34JessicaMunk51 Cunnery RdMAESYCRUGIAUSA39 8FJ078 6965 8387jessicaamunk@fleckens.hu
    35AaronPasley41 Glenurquhart RoadBALLIEMOREPA34 5WH077 6882 0012aaronrpasley@rhyta.com
    36RandyJohnson1545 Woodvale DriveFingalN0L 1K0519-769-3889randydjohnson@fleckens.hu
    37MaryTucker1306 Winding WayProvidence2906401-692-8503marybtucker@jourrapide.com
    38TimothyMontgomery83 Academy StreetBETHELLL21 1HD070 6084 3545timothyrmontgomery@superrito.com
    39ElizabethFox1044 Tanner StreetVancouverV5R 2T4604-436-2749elizabethmfox@jourrapide.com
    40CliffordMoore41 Telford StreetBARKHAMRG41 9TQ079 5681 0730cliffordlmoore@fleckens.hu
    41CliffordWilliams24 Tonbridge RdCOOKNEYAB3 5DY078 6260 1601cliffordcwilliams@dayrep.com
    42DianeStewart3825 Tully StreetLivonia48150313-721-7835dianewstewart@gustr.com
    43JanePurdue4522 Maple CourtMacks Creek65786573-363-6930janejpurdue@armyspy.com
    44DonnaReynolds15 Folkestone RoadWINCHMORE HILLHP7 6UG077 3596 0968donnajreynolds@teleworm.us
    45MaeGonzalez4982 Yonge StreetTorontoM4W 1J7416-318-6431maedgonzalez@rhyta.com
    46JuliaMullenix98 Graham RoadCHEVITHORNEEX16 9WE079 4511 1929juliapmullenix@armyspy.com
    47KathleenHudson2102 rue Saint-ÉdouardTrois RivieresG9A 5S8819-694-7235kathleenshudson@dayrep.com
    48JoseSalas801 Paradise CrescentHauteriveG5C 1M1418-589-3293joseasalas@armyspy.com
    49SuzanneZiegler90 East StreetMARKTA9 7JE078 2398 8807suzannejziegler@fleckens.hu
    50StellaWorsham910 Hart Country LaneAtlanta30303706-530-2741stellasworsham@fleckens.hu
    51DonaldDupree85 Glenurquhart RoadBALLAUGHIM7 9LT070 2322 3531donaldvdupree@teleworm.us
    52DoloresCarroll81 Guildford RdEAST HYDELU1 8ZF070 5400 2455dolorespcarroll@teleworm.us
    53DannyPink3962 Walnut DriveFargo58103701-371-7143dannycpink@fleckens.hu
    54DorothyRowe4402 St Marys RdWinnipegR3C 3N9204-951-1482dorothydrowe@rhyta.com
    55VernaMashburn4870 Trymore RoadClements56224507-692-6468vernafmashburn@fleckens.hu
    56PatsyMendez629 Deer Ridge DriveWayne7477973-641-9131patsyamendez@cuvox.de
    57StanNeel4327 Embro StInnerkipN0J 1M0519-469-7243stanjneel@gustr.com
    58ScottCasperson402 Echo LaneMiddleville49333269-795-1629scottfcasperson@cuvox.de
    59RogerWaller4974 Wiseman StreetJefferson City37760865-471-2287rogertwaller@jourrapide.com
    60CaryHurst3567 Cooks Mine RoadLas Cruces88005505-679-9488caryghurst@jourrapide.com
    61TylerJoseph177 James StreetAldergroveV5G 4S4604-866-1097tylersjoseph@rhyta.com
    62SusieHiga80 Broad StreetLOWER PENNINGTONSO41 4BA070 7312 1513susiekhiga@dayrep.com
    63LindaCrawford4060 Ross StreetSmiths FallsK7A 1C2613-284-5165lindakcrawford@jourrapide.com
    64KatherineCharney622 137th AvenueEdmontonT5J 0X2780-669-4710katherinefcharney@einrot.com
    65GretchenBarthel31 Kingsway NorthHOLSWORTHYEX22 8EB070 6551 4496gretchencbarthel@gustr.com
    66MarvinKennedy34 Lamphey RoadTHE WYKETF11 1YR078 6972 2991marvinlkennedy@jourrapide.com
    67OrethaWyss4446 Davis StreetAugusta30901706-365-8842orethajwyss@fleckens.hu
    68BrendaLowe41 West LaneDALGONARDG3 8DP070 5591 8305brendaclowe@gustr.com
    69ChristinaLewis70 Thames StreetBONNYBANKKY8 1BG070 1509 9499christinaflewis@fleckens.hu
    70BeatriceBullock77 Abingdon RoadBRANTWOODLA21 5PZ079 6195 4027beatricefbullock@superrito.com
    71WilliamHiggins65 Roman RdLEDBURYHR8 5JJ079 2677 5229williamchiggins@superrito.com
    72FrancisFails1382 Papineau AvenueMontrealH2K 4J5514-402-7359francispfails@armyspy.com
    73AnthonyGould1689 Hammarskjold DrBurnabyV5B 3C9604-293-7978anthonyjgould@armyspy.com
    74JohnGaston2090 St Jean Baptiste StSt LudgerG0M 1W0819-548-7107johnegaston@gustr.com
    75JudyFranklin15 Broomfield PlaceSTONE STREETIP19 3NA078 6676 2490judycfranklin@rhyta.com
    76VanessaHartsock92 Middlewich RoadFIVE ASH DOWNTN22 0JT077 2279 2150vanessashartsock@einrot.com
    77LoisMartin74 Consett RdHIGHLAWSCA5 6SD077 2846 0658loisjmartin@cuvox.de
    78CharlesMejia64 Newgate StreetJACKTONG75 8QB078 0038 5514charlesbmejia@fleckens.hu
    79FranciscoGuajardo2074 Kerry WayIrvine92614562-832-4500franciscolguajardo@dayrep.com
    80DannyWilliams4736 47th AvenueBoyleT0A 0M0780-689-7571dannynwilliams@rhyta.com
    81JuanBowen1968 Danforth AvenueTorontoM4K 1A6416-476-9751juanabowen@teleworm.us
    82JimHill3518 Main StWolfvilleB0P 1X0902-697-6163jimchill@teleworm.us
    83JosephJohnson3443 Delaware AvenueSan Francisco94108415-274-4354josephjjohnson@cuvox.de
    84ScottChan48 Colorado WayLos Angeles900674017533509scottmchan90067@gmail.com
    85PatShaffer97 Southern WayNORTH SCARLELN6 7SE070 5181 8156patcshaffer@superrito.com
    86JohnBishop59 North RoadNETHER HEYFORDNN7 3TE077 7175 9692johnebishop@jourrapide.com
    87MattieRodriguez2993 Yonge StreetTorontoM4W 1J7416-720-2724mattierrodriguez@armyspy.com
    88PearlMcCord11 Boughton RdWICKHAM ST PAULCO9 0QG078 3015 0064pearldmccord@superrito.com
    89LaurieNg1652 Higginsville RoadWindsorB0N 2T0902-472-1603lauriejng@fleckens.hu
    90TanyaThomason2386 Center StreetEugene97401541-915-2732tanyamthomason@cuvox.de
    91SherryHinton87 Southend AvenueBLACKFORDBYDE11 5QN070 8154 8258sherrythinton@gustr.com
    92DwayneStraight3870 Ottis StreetMinco73059405-352-0132dwaynejstraight@gustr.com
    93TinaHouser4195 Quayside DrNew WestminsterV3M 6A1778-238-8700tinaahouser@teleworm.us
    94DeborahSoileau3938 Goyeau AveWindsorN9A 1H9519-890-6446deborahjsoileau@teleworm.us
    95SharonLeitch4608 Snowbird LaneOmaha68104402-689-8335sharonjleitch@superrito.com
    96JuliaNunn3166 rue des Églises EstArntfieldJ0Z 1B0819-279-8802julialnunn@fleckens.hu
    97EmmaAnton950 Carling AvenueOttawaK1Z 7B5613-799-8843emmawanton@einrot.com
    98MargaretJanes1476 Boone StreetAlice78332361-207-8407margaretcjanes@fleckens.hu
    99TerryMorgan441 Fallon DriveMount ForestN0G 2L2519-321-3224terryjmorgan@fleckens.hu
    100AdamCooper4791 Waterton AvenuePincher CreekT0K 1W0403-632-1856adamhcooper@superrito.com
    101DianeMcCartney845 Lauzon ParkwayLeamingtonN8H 3B1519-322-3658dianekmccartney@cuvox.de
    102ThomasBuss57 Canterbury RoadUPWARECB7 3NH078 7137 8440thomaspbuss@cuvox.de
    103AmandaJohnson40 Whatlington RoadCOULSTONBA13 9BA070 2755 4430amandacjohnson@gustr.com
    104StellaJones90 Maidstone RoadWENTNORSY9 1NN078 6029 1533stellajjones@gustr.com
    105AngelaLinder83 Roman RdLEE MILL BRIDGEPL7 5NW079 3061 8143angelaelinder@teleworm.us
    106LanceSchill1488 Oakway LaneLos Angeles90017818-253-8238lancesschill@jourrapide.com
    107MarySmith42 Fulford RoadPENPONTDG3 2SN078 4426 8667maryjsmith@rhyta.com
    108JosephBeck20 Seaford RoadCULLIPOOLPA34 8BP078 4405 7430josephsbeck@gustr.com
    109EdwardDawkins1259 Selah WayWinooski5404802-654-3001edwardhdawkins@superrito.com
    110KevinTorres714 Myra StreetProvidence2903401-488-9912kevindtorres@superrito.com
    111CameronWells4822 Rhapsody StreetGainesville32601352-337-5273cameronrwells@armyspy.com
    112LouisGarcia4217 Burwell Heights RoadHouston77027409-555-7232louisvgarcia@armyspy.com
    113StaceyWhite82 Well LanePATRIXBOURNECT4 6SZ079 7426 2830staceywwhite@teleworm.us
    114JeanCruise798 40th StreetCalgaryT2K 0P7403-275-7274jeanbcruise@armyspy.com
    115OmegaStamm15 Whatlington RoadCOWAN BRIDGELA6 9WU077 5586 6506omegafstamm@jourrapide.com
    116ClaudiaCantrell24 Trehafod RoadBUCKLEBURYRG7 2TS078 5083 3233claudiatcantrell@jourrapide.com
    117JoannKellar80 Petworth RdDUNSTONST18 9BR079 7011 8965joannskellar@cuvox.de
    118DexterFigueroa2294 Broadmoor BlvdSherwood ParkT8A 1V6780-662-7299dexterbfigueroa@cuvox.de
    119DebbieGee49 Sandyhill RdGAICK LODGEPH21 7WE070 8515 8276debbiergee@armyspy.com
    120LilianFinn1836 Reserve StLong SaultK0L 1P0613-534-6303liliankfinn@einrot.com
    121EstelleAvila45 Ash LaneYIEWSLEYUB7 5YQ078 6560 6052estelleravila@jourrapide.com
    122JohnGill2268 Red Bud LaneRochelle Park7662862-370-8712johnagill@gustr.com
    123LisaArsenault92 West LaneDARENTHDA2 1ZJ078 7094 2406lisajarsenault@gustr.com
    124JohnGarcia56 Golden Knowes RoadFRIESTHORPELN3 0HE070 1447 9983johnsgarcia@cuvox.de
    125MelvinCarlucci2232 Yonge StreetTorontoM4W 1J7416-961-5670melvinlcarlucci@cuvox.de
    126StefanSanchez36 Trehafod RoadBUCKLAND BREWEREX39 8YL077 3783 9813stefanksanchez@rhyta.com
    127SylviaShaver1317 47th AvenueLac La BicheT0A 2C0780-404-8373sylviaoshaver@dayrep.com
    128KaVenne4953 Doctors DriveEl Segundo90245310-364-8308kagvenne@cuvox.de
    129OfeliaGraham88 Broomfield PlaceSTONEBRIDGECV7 9JE070 4014 2835ofeliahgraham@teleworm.us
    130TeresaClayton2121 Elk Rd LittleTucson85712520-237-6700teresajclayton@teleworm.us
    131RonaldKillion663 40th StreetCalgaryT2P 2V7403-539-0482ronaldbkillion@cuvox.de
    132DianeMoore346 Dundas StTorontoM2N 2G8416-218-0180dianebmoore@dayrep.com
    133EvaDahlstrom92 47th AvenueWaskatenauT0A 3P0780-358-8646evacdahlstrom@superrito.com
    134MarieDavis86 Sea RoadLAMLOCHDG7 9GF077 6603 5676mariemdavis@cuvox.de
    135LindaBroomfield4780 Woodstock DriveEl Monte91731626-456-3955lindambroomfield@dayrep.com
    136DanielReed84 Buckingham RdTHORNTON-LE-BEANSDL6 8HP079 7101 0192danieldreed@rhyta.com
    137DouglasPorter17 Scarcroft RoadPORTHCF39 9EU079 5441 7939douglasfporter@jourrapide.com
    138LawrenceHeck4919 Speers RoadBramptonL6T 3W9905-793-4570lawrencerheck@fleckens.hu
    139RachelTrent4653 Haaglund RdLower PostV0H 0H0250-779-0723racheljtrent@teleworm.us
    140IvaJohnson2939 Quilly LaneWesterville43081614-544-2873ivadjohnson@jourrapide.com
    141LanceArceo86 Kingsway NorthHOLMSIDEDH7 9EW070 5772 3162lancemarceo@cuvox.de
    142ValerieHowell1142 rue LevyMontrealH3C 5K4514-774-5866valeriedhowell@superrito.com
    143MaryPoirier2038 Stutler LaneBedford15522814-423-2173marydpoirier@einrot.com
    144SusanneCamp4146 Galts AveRed DeerT4N 5Z9403-373-2195susannewcamp@armyspy.com
    145RonPeters1364 137th AvenueEdmontonT5M 3K3780-454-1668ronlpeters@rhyta.com
    146MarjoryBryant4129 Court StreetEureka63025636-587-5083marjorykbryant@dayrep.com
    147BettyPratt68 Oxford RdWOOTTONCT4 5WA070 4977 6152bettygpratt@gustr.com
    148ReginaChen3930 Chestnut StreetTampa33619727-482-0568reginalchen@cuvox.de
    149CharlesAtkins418 Hood AvenueSan Diego92111858-694-9634charlesmatkins@gustr.com
    150LawrenceTaylor91 Scarcroft RoadPORT LOGANDG9 5LG077 3050 1172lawrencejtaylor@cuvox.de
    151PamGoudy1785 Russell StreetWoburn1801978-853-5666pamgoudy@einrot.com
    152EvelynEvans2438 Reserve StParhamK0H 2K0613-375-6041evelyndevans@cuvox.de
    153JaniceAtkin85 Oxford RdWORKKW15 5EF078 8718 3013janicebatkin@dayrep.com
    154HazelMerrick3751 Owen LaneNaples33940239-263-5968hazelbmerrick@cuvox.de
    155PearleneFerrell1410 Dominion StFinchK0C 1K0613-984-2873pearlenetferrell@teleworm.us
    156PeggyHarper1846 Davis StreetChickamauga30707706-382-7319peggyaharper@armyspy.com
    157CarolLindsey4211 40th StreetCalgaryT2M 0X4403-210-8234carolglindsey@gustr.com
    158SantiagoField4783 Merivale RoadKanataK2K 1L9613-592-3285santiagobfield@einrot.com
    159HughTorres3773 Northumberland StreetBadenN0B 1G0519-634-7229hughbtorres@teleworm.us
    160ClaudiaHalpin3248 Colonial DriveCollege Station77840979-764-7262claudiajhalpin@armyspy.com
    161ChristopherWindham2310 Barton StreetStoney CreekL8G 2V1905-664-5559christopheruwindham@fleckens.hu
    162TheodoreYoung4201 Providence LaneAnaheim92801626-803-1180theodoresyoung@cuvox.de
    163LaurenCasey4455 Fallon DriveHensallN0M 1X0519-263-7462laurenjcasey@jourrapide.com
    164MollyLogan1544 St George StreetVancouverV5T 1Z7604-871-8098mollyhlogan@jourrapide.com
    165AlanGuinn3395 Galts AveRed DeerT4N 2A6403-309-5523alanmguinn@fleckens.hu
    166BrendaJohnson65 Northgate StreetBETLEYCW3 1TE070 1362 3463brendatjohnson@gustr.com
    167CatherinePriest1144 McDonald AvenueOrlando32810407-924-7464catherinebpriest@superrito.com
    168WilliamMcCoy1019 Benson Park DriveNewcastle73065405-387-6925williammmccoy@superrito.com
    169StephanieJaynes1854 Tycos DrTorontoM5T 1T4416-605-0198stephaniejjaynes@rhyta.com

  • decompiled psmenu.py from runtoanswer (read about decompilation process in Cranberry Pi hacks)
  • Answer is checked case-insensitive (line 50).
    Some debugging code is still lingering in source. Also, there is some dead code (lines 29, 38-39), probably, due to using copy-and-paste programming.

    import json, sys, os, time, signal
    from hashlib import sha256
    import hmac
    
    def calcHmac(secret, resourceId):
        return hmac.new(secret.encode('utf8'), resourceId.encode('utf8'), sha256).hexdigest()
    
    
    def printResponse(hash, resourceId):
        print('#####hhc:%s#####' % json.dumps({'hash': hash, 
         'resourceId': resourceId}))
    
    
    def signal_handler(signal, frame):
        print('')
        sys.exit(0)
    
    
    def errorandexit(msg2):
        error = "\nI'm very sorry, but we seem to have an internal issue preventing the successful\ncompletion of this challenge. Please email support@holidayhackchallenge.com with\na screen-shot or any other details you can provide. Thank you!\n\n"
        print(error)
        if msg2 != '':
            print(msg2)
        sys.exit(-1)
    
    
    if __name__ == '__main__':
        debuggin = False
        r = None
        signal.signal(signal.SIGINT, signal_handler)
    try:
        RESOURCEID = os.environ.get('RESOURCE_ID')
        if RESOURCEID == '' or RESOURCEID == None:
            errorandexit('Unable to obtain resource ID information.')
        if debuggin:
            print('\nRESOURCEID = ' + RESOURCEID)
        key = '78871929eec84c94806623a086b376f0'
        h = hmac.new(key.encode('utf8'), RESOURCEID.encode('utf8'), sha256)
        payload = {'hash': h.hexdigest(), 'resourceid': RESOURCEID}
        sys.stdout.write('Loading, please wait.')
        sys.stdout.flush()
        for i in range(0, 5):
            if not debuggin:
                time.sleep(1)
            sys.stdout.write('.')
            sys.stdout.flush()
    
        print('\n')
        guess = input("\n\nEnter Mr. Chan's first name: ")
        if guess.lower() == 'scott':
            hmac256 = calcHmac(key, RESOURCEID)
            printResponse(hmac256, RESOURCEID)
            time.sleep(0.5)
            print("\n\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m                                                                \x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\n\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m \x1b[32m.\x1b[0m\x1b[32m;\x1b[0m\x1b[32ml\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32ml\x1b[0m\x1b[32m:\x1b[0m\x1b[32m'\x1b[0m \x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\n\x1b[37m \x1b[0m \x1b[32m'\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mk\x1b[0m\x1b[32mO\x1b[0m\x1b[32mO\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mx\x1b[0m\x1b[32mO\x1b[0m\x1b[32mO\x1b[0m\x1b[32md\x1b[0m\x1b[32mo\x1b[0m\x1b[32md\x1b[0m\x1b[32mO\x1b[0m\x1b[32mO\x1b[0m\x1b[32mO\x1b[0m\x1b[32mO\x1b[0m\x1b[32mO\x1b[0m\x1b[32mO\x1b[0m\x1b[32mO\x1b[0m\x1b[32md\x1b[0m\x1b[32mo\x1b[0m\x1b[32mx\x1b[0m\x1b[32mO\x1b[0m\x1b[32mO\x1b[0m\x1b[32md\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mO\x1b[0m\x1b[32mO\x1b[0m\x1b[32mk\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mx\x1b[0m\x1b[32mO\x1b[0m\x1b[37m0\x1b[0m\x1b[37m0\x1b[0m\x1b[37m0\x1b[0m\x1b[32mO\x1b[0m\x1b[32mk\x1b[0m\x1b[32md\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32m;\x1b[0m \x1b[37m \x1b[0m\n\x1b[37m \x1b[0m\x1b[32m'\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0mX\x1b[37mM\x1b[0mW\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mO\x1b[0m\x1b[37mM\x1b[0mM\x1b[32mx\x1b[0m\x1b[32mo\x1b[0m\x1b[32md\x1b[0mMMNKKKK\x1b[32mx\x1b[0m\x1b[32mo\x1b[0m\x1b[32mO\x1b[0m\x1b[37mM\x1b[0mM\x1b[32mx\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0mW\x1b[37mM\x1b[0mX\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mk\x1b[0mNMWK\x1b[32m0\x1b[0m\x1b[37mK\x1b[0mNMW\x1b[32mO\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32m;\x1b[0m\x1b[37m \x1b[0m\n\x1b[37m \x1b[0m\x1b[32m:\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0mX\x1b[37mM\x1b[0mW\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mO\x1b[0m\x1b[37mM\x1b[0mM\x1b[32mx\x1b[0m\x1b[32mo\x1b[0m\x1b[32md\x1b[0mMM\x1b[32m0\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mO\x1b[0m\x1b[37mM\x1b[0mM\x1b[32mx\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0mW\x1b[37mM\x1b[0mX\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mx\x1b[0mMMK\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0mK\x1b[37mM\x1b[0mM\x1b[32mk\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m \n \x1b[32mc\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0mX\x1b[37mM\x1b[0mMMMMMM\x1b[37mM\x1b[0mM\x1b[32mx\x1b[0m\x1b[32mo\x1b[0m\x1b[32md\x1b[0mMMWWWW\x1b[32m0\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mO\x1b[0m\x1b[37mM\x1b[0mM\x1b[32mx\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0mW\x1b[37mM\x1b[0mX\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mO\x1b[0mM\x1b[37mM\x1b[0m\x1b[32mk\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mk\x1b[0mM\x1b[37mM\x1b[0m\x1b[32m0\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m \n \x1b[32mc\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0mX\x1b[37mM\x1b[0mW\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32m0\x1b[0m\x1b[37mM\x1b[0mM\x1b[32mx\x1b[0m\x1b[32mo\x1b[0m\x1b[32md\x1b[0mMM\x1b[32m0\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mO\x1b[0m\x1b[37mM\x1b[0mM\x1b[32mx\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0mW\x1b[37mM\x1b[0mX\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mO\x1b[0mMM\x1b[32mO\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mO\x1b[0mMM\x1b[32mk\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m \n \x1b[32mc\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0mX\x1b[37mM\x1b[0mW\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mO\x1b[0m\x1b[37mM\x1b[0mM\x1b[32mx\x1b[0m\x1b[32mo\x1b[0m\x1b[32md\x1b[0mMM\x1b[32mK\x1b[0m\x1b[32mx\x1b[0m\x1b[32mx\x1b[0m\x1b[32mx\x1b[0m\x1b[32mx\x1b[0m\x1b[32md\x1b[0m\x1b[32mo\x1b[0m\x1b[32mO\x1b[0m\x1b[37mM\x1b[0mM\x1b[32mO\x1b[0m\x1b[32mk\x1b[0m\x1b[32mk\x1b[0m\x1b[32mk\x1b[0m\x1b[32mx\x1b[0m\x1b[32mo\x1b[0mW\x1b[37mM\x1b[0mX\x1b[32mk\x1b[0m\x1b[32mk\x1b[0m\x1b[32mk\x1b[0m\x1b[32mk\x1b[0m\x1b[32md\x1b[0mXMW\x1b[32m0\x1b[0m\x1b[32mx\x1b[0m\x1b[32mx\x1b[0m\x1b[32mk\x1b[0m\x1b[32m0\x1b[0mMMK\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m \n \x1b[32mc\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32m0\x1b[0mNX\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mk\x1b[0mNN\x1b[32md\x1b[0m\x1b[32mo\x1b[0m\x1b[32md\x1b[0mXNNNNNN\x1b[32mk\x1b[0m\x1b[32mo\x1b[0m\x1b[32mk\x1b[0mNNNNNN\x1b[32mO\x1b[0m\x1b[32mo\x1b[0mKNNNNNX\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mk\x1b[0mKNNWNX\x1b[32mK\x1b[0m\x1b[32mx\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m \n \x1b[32mc\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m \n \x1b[32mc\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0mMY\x1b[32mc\x1b[0mNAME\x1b[32mc\x1b[0mIS\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\n\x1b[37m \x1b[0m\x1b[32mc\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32md\x1b[0m\x1b[32mo\x1b[0m \n\x1b[37m \x1b[0m\x1b[37mO\x1b[0mMMMMMMMMMMMMMMMNXXWMMMMMMMNXXWMMMMMMWXKXWMMMMWWWWWWWWWMWWWWWWWWWMMMMMMMMMMMM\x1b[37mW\x1b[0m\x1b[37m \x1b[0m\n\x1b[37m \x1b[0m\x1b[37mO\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mW\x1b[0m\x1b[37m:\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37m.\x1b[0m\x1b[37m \x1b[0m\x1b[37m;\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mk\x1b[0m\x1b[37m'\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37mN\x1b[0m\x1b[37mM\x1b[0m\x1b[37mX\x1b[0m\x1b[37m:\x1b[0m\x1b[37m.\x1b[0m\x1b[37m \x1b[0m \x1b[37m.\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37ml\x1b[0m\x1b[37mW\x1b[0m\x1b[37mO\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37md\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37mx\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mW\x1b[0m\x1b[37m \x1b[0m\n\x1b[37m \x1b[0m\x1b[37mO\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mo\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37mO\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mW\x1b[0m\x1b[37mX\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37ml\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37ml\x1b[0m\x1b[37mN\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mN\x1b[0m\x1b[37mx\x1b[0m\x1b[37mW\x1b[0m\x1b[37mK\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m,\x1b[0m\x1b[37mX\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mO\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37m.\x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37m,\x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mW\x1b[0m\x1b[37m \x1b[0m\n\x1b[37m \x1b[0m\x1b[37mO\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mX\x1b[0m\x1b[37m.\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37mc\x1b[0m\x1b[37mO\x1b[0m\x1b[37mW\x1b[0m\x1b[37mM\x1b[0m\x1b[37mN\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m'\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37m;\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37mW\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mc\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37mK\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37m.\x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37m,\x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mW\x1b[0m\x1b[37m \x1b[0m\n\x1b[37m \x1b[0m\x1b[37mO\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mK\x1b[0m\x1b[37mo\x1b[0m\x1b[37m,\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37mK\x1b[0m\x1b[37mN\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m,\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37m,\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37mW\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mc\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37mK\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37m.\x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37m,\x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mW\x1b[0m\x1b[37m \x1b[0m\n\x1b[37m \x1b[0m\x1b[37mO\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mK\x1b[0m\x1b[37mN\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mO\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37mo\x1b[0m\x1b[37mM\x1b[0m\x1b[37m,\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37md\x1b[0m\x1b[37mW\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mW\x1b[0m\x1b[37mO\x1b[0m\x1b[37mW\x1b[0m\x1b[37mk\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37mc\x1b[0m\x1b[37mW\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mO\x1b[0m \x1b[37m \x1b[0m\x1b[37m,\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37m.\x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37m,\x1b[0m\x1b[37m \x1b[0m.\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mW\x1b[0m\x1b[37m \x1b[0m\n\x1b[37m \x1b[0m\x1b[37mO\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mc\x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37m.\x1b[0m\x1b[37m.\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37mc\x1b[0m\x1b[37mW\x1b[0m\x1b[37mM\x1b[0m\x1b[37mW\x1b[0m\x1b[37ml\x1b[0m\x1b[37m.\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37m.\x1b[0m \x1b[37m.\x1b[0m\x1b[37mN\x1b[0m\x1b[37mM\x1b[0m\x1b[37mk\x1b[0m\x1b[37m.\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37m.\x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37mo\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37m.\x1b[0m\x1b[37m \x1b[0m\x1b[37m.\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37m,\x1b[0m\x1b[37m \x1b[0m.\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mM\x1b[0m\x1b[37mW\x1b[0m\x1b[37m \x1b[0m\n\x1b[37m \x1b[0mxXXXXXXXXXXXXXKOxk0XXXXXXX0kkkKXXXXXKOkxkKXXXXXXXKOKXXXXXXXKO0XXXXXXXXXXXXXXXK\x1b[37m \x1b[0m\n\x1b[37m \x1b[0m.\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32m,\x1b[0m\x1b[37m \x1b[0m\n\x1b[37m \x1b[0m .\x1b[32ml\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32mo\x1b[0m\x1b[32m,\x1b[0m \x1b[37m \x1b[0m\n\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m .\x1b[32m,\x1b[0m\x1b[32mc\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32ml\x1b[0m\x1b[32mc\x1b[0m\x1b[32m;\x1b[0m. \x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\n\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\x1b[37m \x1b[0m\n\nCongratulations!\n")
        else:
            print("Sorry, I don't think that is correct answer.")
    except Exception as e:
        errorandexit(str(e))
        sys.exit(0)