@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@#,,,/&.......(@@(#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%../(,...*..,,,#......,#(...%/&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..%*,,.......,,/......,.*#%*.(/%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*..,,/....*(****%#*///#*...,(%%((@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&...%%((//*,,,,.,%/,,,,**/(((#&(##%&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%/#&%%%%%&&&@@@@@@@@@@&&%%%%%%&%###%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@,....................,%@@@@(@&@.#%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@(....................#(.,,.*.,......,,,,,,,****#%%&@%@@@@@@@@@@@@@@@@@,/(/(###%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/.....,.../#%%&%(/......,.,,@&&&&/...,,&,,,/&,,**/***#%%&@@@@@@@@@@@@@@*(*,,**/(&(%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@...........#.(%%%%(/%*%&#/./@&&&#(......&%,(@@&&(/(###(##*#@@@@@@@@@@@@((%%(%%%%/%&(%@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@@@@@@@%........*.........,,%%*(//..@%,%*.#......(/*,@@&&@&%@##*@@&#%#@@@@@@@@@%%,*,,,((%%(#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@...............,%%#/,,(,,,,(/*,/(###.....//(*%,*,//(((/**@@@@@(%%%#,@@@@*#,,/,,*/#/#(%(@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@..@%/.,@*............@ @*@,*//&%*%,.......,.,,,,*@&%%%@*/@@@@@@@,,,,***@@(,**/*/((##(%&#@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@%####.@@@@@@..&%%...%%%&@.......,*@(@@/@%/**#,(%.......,@&%%%%%%%%&**@@@@@@@,,,,,/#(@@@,*///%#(*(&%%@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@#####/*@@@&./%%%%#.#%%%%%%@(....&#(.,#@&&/&&,@&....@&%%%%%%%%%%%%%/*@@@@@@*,,,*/%#%%%,%*((#/(,//#%%#*@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@*####(//@@%.%%.%%%%%#.%%%%#../&......@%.%...@#..@%%%%%%%%%%%%%%%%%%/@@@@@,,*,/***(((#%&%,,**%%#*(*,*,*/*(@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@&,,..*#/,@@%.@%%%.%%%%%,...,.%%%%@,...**......#&%%..%..,,,,,,****((#*@@@&,(**//*/((##((##/%//%%/#(*(/(,,*/*(&@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@,,,,.*(,(@@@@.&%%%%..........**..%%%&*.......@%%%%%.......,,,,****%%//@/,//(//*#(/((((/((%((%(%/*/((((,*,*//((.@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@///,%((*,****,#@@@.#%%%%%%%%%%(.......//%%%@....@%%%%%%%.....,/,,,,,**(%&*/**(((**(*#((*/*(((((#((%,,*/#///***/*//*(*@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@(*,,*..,@,,,*,*,.@@@..&%%%%%%%%%%........%%%%%%/.@%%%%%%(#.*.....,,,,**%%%@*/(((,*/,(#*/**(*(,,,,,#%(*,//*,/(///*/**////@@@@@@@@@@@@@@
@@@@@@@@@@@@@&@@@./,,*,*(/,,,*,./@@@@.&%(#%%(%%%&@..%#.%%(#%#(%*.@%%%%*(#/..,.,,.,,,,,%%%%*(#(/*///,,*@@@@/*/((**/%(/*(#&(/**(*,,/(**/((@@@@@@@@@@@@@@
@@@@@@@@@@/.*,*.**,,,,,((./*..@@,,,@@..@%%%%%%#@%% ...@%%%%%%%%..@/....%#.,,.. /.,,*/#%%%@*///(/*,,@@@@@@@.((/(/(%((##(##%&*&///*//*****/&@@@@@@@@@@@@
@@@@@@@@@@.....,,..*,,./,,,,,....,,*%@..@%%/%(%%&(/.(/&%(%%%%%(..@%%%/.....%%..%%%%%%%%%@**%//*,/#@@@@@@@@@(,(**%#,,,*%*(#%*(((*,*(//////(@@@@@@@@@@@@
@@@@@@@&###(###(#//(##*****//**,,**@@@@..@%*%%%%%%*(.%%%%%%%%%%..@%.%.%/...%%....%%%%%%&**@@@@@@@@@@@@@@@@@&/,*/%*******%/#%&/,**/(///**//#@@@@@@@@@@@
@@@@@@####(###/@@@@@@@.(,.//.@@#@@*@@@@%..#%//%#*%%(,%%%%%%%%%%..&%%..%,..,%....%%%%%&**#@@@@@@@@@@@@@@@@@@%***%(***,,,,**%#%%*//(@*/*//((/@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@#@@###(&@*#&((////%@@@..@%%%%%%/*%%%%%%%%%&..&.....,.......#%%%%#**%@@@@@@@@@@@@@@@@@(%@/%%#**(((/*/*/(###*%%@%%@@*/(,@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@.,,,%@@@/#@@@#@@@(//####@@..%%%%%.,%%%%%%%%%@..&%......%%%..%%%@/,(@@@@@@@@@@@@@@@@@@###(#%%%%%%*%%*(%%%%%%(%#(%%*##@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@%,,,,,*(@@/###(#@%#(@@(*/####@@(..@%#.%%%%%%%%%@..&%%..*......%&&,*@@@@@@@@@@@@@@@@@@@@%%%%##%#(((#######*/(###(*/,,,,/#@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@/(/(#@@@@####(####(####((####@@%#../@%%%%%%%%@..&%%% ..%%%@,,#@@@@@@@@@@@@@@@@@@@@@@@###&##%%(/,*///**,**,*/%@@@@&#&@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@,//#@@@@@@&@,.,#@@@&@@@@#%#%@@@@@@@....@@%%%@..&%%%&@(,,(@%,.*%%(....&%@@@@@@@@@@@@@(##%#%%#((/*,,#@%,,*@%**********%%%@@@@@@@@@@@@@
@@@@@@@@@@@@@@@((######../(..*./%@@*########*@@@@%#*@@@@@/....,.....,,@&..%*..../@....&%@@@@@@@@@@@@@@@%%%%##**@@,,,,**,***%#****@%%%%%&@@@@@@@@@@@@@@
@@@@@@@@@@@@@@####(###/**/@(,*/.*(@(((##%%&@@&%@@@@@@@%#%@@@@&@.(@*......./%@...... ,%%@@@@@@@@@@@@@@@@@@/@#,,,,*&,,,**&***@&%&@*////%@@@@@@@@@@@@@@@@
@@@@@@@@@@@@&*,(##(#%@@@@@@@@@@@@&/.....,%%,.@%#@@@@@@@@@@@&@...#@....&%...@%%&....@%%@@@@@@@@@@@@@@@@@##*...,%%%&&*******@@%%%%////&&@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@*...,@**%@%%%&@@@@@@@@@@........,@.......#%%%&. ..&%@@@@@@@@@@@@@@@,....*@.,,,,,@%%****%@**(@//*///@/@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&###(&&%%%%%%%@@@#@/%%*.&@.%@...&%%@...%@....%%.....%%@@@@@@@@@@@,@....#@@%%&,.,,@*,@****@/**%**////@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@.%%%%%%%%%&@%,.@.....@@./%%%@...@%%@...&%,..,&&@@&/@@@@@@@@#@@%...@@.....@%%&,,,,,,@@%%%%%%%....,@%@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@(........(@@%*@,,,,,,#@@%*........&%%&...*%%@&%%%%%%%%%#*/@@@@@@@&*.....&..,%&.......@,@%%%%%%%%%%%#//(@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@%(//////*****&@,,,*@,,%%&.(*.....%%%/@@@@/(%%%%%%%%%%%/@@@@/.....&%........%%,...,@@@@%%%%%&&%**//(((@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#/////@%%&@/%%*,,,@%%%&..&@..&%@@@@@@@/#%%%%%%%%%%@@,,@/...%,...&*..@.....*@@@@@@@%%%@*%%%&,*//((((@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@((((@%/@***@@*****,,*@.%@@@@@@@@@@&////(%%%@@**@&,,,,@%...&%%../@..&%&(#@@@@@@@@@///%%%%%%%%%*..@&@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(((#@@//**/@*****@&@@@@@@@@@@@@(@@@@/////////**&(**,/&,.../....&.@#@@@@@@@@@@/////%%%%%%%%%%/.@#@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@((((////*/@&@@@@@@@@@@@@@@@@@@@@@@%&/(///@&***&@***,&@......@@@@@@@@@@@@@@@@@@@@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@(&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@%#((((///(@%(***,%%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#((((&%%%%%**@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(////&%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@