@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@+++++***@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@@@@- @ @@@@@@@@@@@
@@@@@*+:+++***@@@@@@@@@@@@@@@@@@@@@@@@..@@..@@@@@@@@@@@@@@@@@@@@@....@@@@@@@@@@@
@@++++++******..:@@@@ ......@:..@@..:....@...... @......@.......@ :. @@@@@@@@@@@
@++++++******+..::@@@.......:...@@.......@......:.......:.......@@@@@@@@@@@@@@@@
@++++*+======:::::@@@:::@@:.:::.@@::.@::@@::@@@::::@@@:::::@@@::@@@@@@@@@@@@@@@@
@+++*+...:::::::::@@@::::::::::::::::@::-@::@@:::::::::::::@@@::@@@@@@@@@@@@@@@@
@@***+:::::::::::@@@@:::::::@-:::::::@:::@::@@ ::@::::::@::@@@::@@@@@@@@@@@@@@@@
@@@@@.:::::.::@@@@@@@:::@@@@@@@@:::: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@::::::::@@@@@@@:::@@@@@@@::::-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@