import macros macro Please(x): untyped = nnkStmtList.newTree() Please use Nim-ACL Please use Nim-ACL Please use Nim-ACL static: when not defined SecondCompile: # md5sum: 7571819c11671e98758e44a01cb60ffb atcoder.tar.xz template getFileName():string = instantiationInfo().filename let fn = getFileName() block: let (output, ex) = gorgeEx("if [ -e ./atcoder ]; then exit 1; else exit 0; fi") # doAssert ex == 0, "atcoder directory already exisits" discard staticExec("echo \"/Td6WFoAAATm1rRGAgAhARwAAAAQz1jM4O//J39dADCdCIqmAHyeLmzPetXzW8A5LcJR8qDQ0Kn6/cVg+7+HycSg3FCO1Z5z+t2l0K7sw2vRoEsaPaRYkfhUbsHcj60bSR8C80olDrWJZyeR5r552EL2bo36Tb4/fqOAN7pN9FgzTF5F3gmY9LRFX0mgWJDyZwK7Jmbdz91NivuvH03v8OQP7xzR9/XtgbfyWhFwh2DVj6+iV93ThwF+/h6LH77m34Br8nf1gvkJulCS0W7n46gO4jd+UvicmuVLICDuoJAKKPxYYuyS1+CXcoBS1K5ZsVwU82HFqOYbvli8hJ78e9zMC1Y8CdzuwrFyCaMZDHx2BBp+8rA7Qy1/B+4vlasM/HiT6liaxpSGOKQy+4LfZqBigT+6iSFqhLneOmlJ3ywSXl1+Gz98khy7Jyk5oL76I6ZavjgPXgWPShgHz6XsuU2wNa3DvzpugWw0aEsojw/42PXN7cLU5sdQ34Zzn/vcUZA5biG67mOuY0nCJBM0gQZU7M9TCLtGYw4Ul2T/fMfh0rCaNC5KtrGGtHMrJxN3M1K2du/pQtiCexzJpTjalINEVZM4+sLM1Ar+iU7j/qOayURicKpAENvKtv5Pke0lwB7K6+ctatwcN6wfEX3OKy4WMvIgCDHq+rITfqDSp6e9Vd+OJMZDueXt0zRGJkTROUUZj75PzQPcVjZwmBfdsO/gPcOAdtGfHZD4k/fmIA69eqgiJE5xyoe11+TTPumedspR0o2T65UsB3FNogq0/gxnQAiudcDQ4hVhwAR42C75u2uKYwpn/5SjNOdqaH5O7jLTPcqPBM6ex1C7n/32UTXLngFWhhkUw2VxfTzmLrhAC1ViH8v8BKMM6SMuKP0sjnPML0OZooQh97ScD0M/aNztEWTXkMyp/rRCxuMR+Q2LaPoL/DqCcCuAY8e0ghLvwQjFJoUu4G+ilqJF5eW48+Ah9SBqFpdJ6eb6wfA9i8Hrf/aPbiYMeZKLlPf9/NSGW3RN7izOEfWDBwTlxGs7Vvsfx97N+Vdlg1+uvzWRokx8i1W9j7stoXGo7ZRW/7P25MU0YkE9FlPekq9Sjd3wpmoERf0rh3REF3+ihVZ839JPH2243+A0Ke6DvxmYVUbK1F0KPEpgjgdXkfH2WL/k33uHmpwJAGDpxyP3jVy4JO3Kg6YPbacBYzlLHiq+UFvvrcvjqZ6a99onrsCCJDWr6eWw80K9pqHWuhkADng2qPj6BHeJBwFSWBnnaQjepzlct8VYkLif2GoPljMF2QxD6eFtaW11KjEH9YaD9DlmigKXK1CoO/Jrje400MqNEcueFAIKwpnjaG1nISCyYM8JxQ2mNVowDXFPieZ2TYKtHgLAgU1zA2HkmtoSSTTVTBHrjS9BLA0XMJ6Aocg5iHLpovOwTBI87hN5GoTM4BY4ud5f/3KUJm6VXZrT14TM/HHefIpryILmG45Zsrl5u1E9dy58JYwx/wBo35uiZrH4EvSXCzxh2+QLn4qcVQYGmw/08q7R4NhF1nx+gqfaqbfvUDE1GH+uTvi6sfo2NC6F7VPss2A4VUWGpv7XGg6oCLsMxbBigIiDcrOl9QjMgOpYyyAiK1IvXmsppfG2zilkPq7TQRPuAPyF4bTlJUSyRwYYoxae8kUP2nK4H27cnCzAwmVuVwtwh94lkpkw+ijBSpAe9Y+govS0MWe/TucROhwx96gut0zaohLpd+wFu4i/4L87JzeGItEIxXM/M6yaQH+9FeA+3z5wyXgrY/gEaS0Imt/KKfxQC71etBcbr09x4MxzusXDp3D9mjGi7m4e/Ku0HOZ8H+NLGEpkxfC4hPsFFU7wmz8Kb4VbQ2NZ7JkrYwnE4WwQvhBg0pKjTIHegIanAPiJbv0DNCbpoLPpQbgzdVr7aNh6Sd3xc76OlPXQ5AkurrrUWGFVspFGXRdiFGXwkS5Tfex4iJTkKb/s76RasxsAVQKjpp21KNemQURw/0z3X6/aG+5wxZXkukbfP0LafsLbT+PqdTXsz9gqQ3H6Q+mphfbYBACCT0LIMYDcTQZOmzSR8v+8RJi2UAnQVGdSa5GgJHYzpk8ERSAr/Hipx1HwEHjHW+aDrPSlbVTeqjtvYHqRLeu+tkxnixzU9YZ/Od/ryXXkJwfYYOk8kLb6I0MzqOsnTkPG5k65Z06KEQTDMdXeT0AKsyXu41SE8C6mbIh3QiRisoMxGgj+yQA3MO+BVBKrU8k9jZbHR3hpub/B+TuT3bxSWKgJMEAnVz4wqB8W4mZAyfkUtI4McfIwAs1Birqs82MBCsjeqMj4JdKjMj6hDKsPlGyAwPRO4EOnNTe2IxKwJwnUxMtP3+QLYd1WqLRBynL8drZctqdJVwgYIS0OqAx13Ce1Igo8LKuyPgi2/0so0v9A9lZNzcNwfnty7qTTIWt8YrEFU0wa/ziNwkSUbRnvR+XSAuvA7L3iWtriVfeDVQRueex0Sx5Ah6IvCky6VnHzgvdnrA0qwB/hxeCOa6ISSfm8ZHetvRwVjPwzLSPwk0ong7IRPYg1MTBXPDZ8mjA3LcnKoB1mQHj6sQJbw21AmDio24rCmdK5t433QrV+rzJhOVzb+Ooy063Huas3h0mbPRrXCG36cVELdUBo8akH/Q8VFYjVM1Y4c0eeicUlRdkUc2qBV7rQs9ATJ0CkWwRy3svbnibt6aZHpm+5cuetC0o2ZK8gy9MGHdnKPKNlTyu+gqcF5mkutBkoFPh+J+MnODgJDCScvHMji16Ij7PRTivi7LCRB4FJtD8QTFquQHwbB+aAVUtIXQBgK1inlpnljqEBhXt98+pOXmfAN9rj6olB0Cs98idLVcUzc/5ceprm0u0uGF7HkCf7VscuKhNjD8uX8iZRUBUvcykHV+zJSAwJGNwwdMRvsenUh7RLQv2feD13E9bAEzAoFGfDMwhi6d3x6qLLmJKIvnqMwFcqDCc+U8iPbp+e87xWO+kwm69KNgbQePhOtAC6O8Vg+1db2C4m+4JC/aQoCuP1NN/cmvuTp4QSFytBcz0YMMhP9Mb2cQGMCUH7CWMQlkrmAlbHgQ+LQXJw7MvZU4hKDS3IYUGFUP+Irq9oFSX6/N9ED5bzfAzgNu4uOlDcIgoud6uMXe27SQWf1T6ObigN0DFC6QJN5gHngJ5Qo2/eNX9x360RxWSz1kvQ9TwpLYjNt1D+RoFBZqKKfhHL8jkS+ylTwU301WegqaiLh0xarOpcQ3JosuFIMKb+5sst+4Kwg27F+cicFSW20as08eTK2P2gL+6kFgsCpfOSuYHeSGG7JaAVKP/OIcMPSTswAkjM9kZjEv1yuUFsX6OqXyQv3h1PXkfefyWS5inOc4x5aUJ8AVjpTHeBvTHUfKobyrVpxHd9zh2TDWIeLVJ3zxCOYl81PaRrP41Cv++cgbygOz5fb9Im+lIP3BX1LaZEYcd9P8G5dz9WJqRWqkQro+FCzIzZu964wBU7MWaSJdlvkb8Lgjua5MZ6aUGTPmzKja1aZ85mewU8VaV2u5Q8wcRggN8iCmTuwU/f742r6olWL5IrMjUPe1FuwOIH2AdfRHFWniyvhSeYXhftAraVVeecCE62olokWCYTjO5A+LJhxTcHZLeeAVLv0Goi189xOgZukzqbRFjGX1dFlZObReWr8x9FHBGXv0quN02rfaAnjLC5YS1q9xd3XLxi6q8KZiaWjJoVDfRaYQ9jYr0NjW84cgh1nFe8wgWYamuwkablxW5TW+LD5HmmawMWET/9QTFzrcs5p7uD56x2Bgihwger2beUZ9lvUQ/Or1yE9CO6V1irVgdqOTAGLnChwewn85r0eReTQtdBjndallIbStE4zJ07KqEtSWsattn/m9b5jrIH/P91YmPYeJdV6lXA2aM8HKiftyHWtULgxtvMxUBN8BNwJ5/TzIc4GZgqWzL8T8ecfqkfK601XW+nigHSYUAr9jfn+DRt+QYPxQIT2iMP1hkbq18EjESDtADCs4hbBJg151ujXfwQfgZddRQsUaWpraGAzz/VkLt3ShKkuQARb6ti/zn9si2TjlMcTAVUJLOvEWbMo0Z5zuqBJuAZlqRq2UxyjX/yOUpj/+SxOzUrNSa/MYCI1bwuTISXoqiSKPjQ4ttELVdWKw5+XKDOlbRjrV5Z3Ct6L9FOkiMX6yvhG3pgJhsS0x18ghWiyjyXWD8AwOw0w6oeXxcrLjyjL+IfrciZ7SK5lpQXiR4vPUCgL6WM0pYdlIC18YDWRFuSnGRl/kGOnSZag85zylVkdOnP69wn60dTMb13+rotEatetvD5ODD/l3v0sqaxvyZtXnFmSThsaXQY3XzNgQ8wW6unxZvknfrRy1PHDozSVfg/ByTc19BYyX99r9y65a9RhU1J1dV79/IntXKh+WB6QlgJNZ6zXcXbO3qfFa4H97Tw35syfWZ5KMPVxOTeC1xcio3saqI/qEv8DKNjJYdgFYwvhwz387QQSbbqcH4B1/zS9VXilHFhpkG+T3bb6bEF0JDq/IYqRBvZ23NE60hB1YWVem94p3Dh2O7XDf/Q52ukcXhsKTTMlf1p6dgcVKOXraU2SlxYNMt8LKbs1fCe3YU2XxMG62KvTuBtb47luWBCKs2QlBnrR4Yl1DCRKOCaOZLNmRubzXWjDKlyOTaJN5NQKXkHNNM/PfSKuBWy2nFyfQ5zSDzzFm71+wUCrr4Nuu/p2b4rB7ZlBAg2sIhYiDrVbcsAPdLuag5Gfi2dz7ljyKSR01yB8sqEoDg0VQtTgO3ENG1QwDzG1IKW5CRB5UTNjt9OAUTG10r8wnq0sASaDrc2UDWxmE32OKUmf6/UEOtOdEku2tkO+VcrGNtx/QtaPEQmDXbIRvkLn9Tv27LpS80tHife1Uxur46y4JZEYMjlw/jVIbnl73/wnCBWP9YZ+zlgxoNl5O/rm9PaYdcMGWOX7waubJSQAF74XoA0NWle50YTfKQUP7HiGXiqfFsS+zYyLLn2Ip++XEc7X7oAqdS60Z3IAHD/c49tlreot5ty32Lzvc0NoSDgV9TNfYamDMxFqD88TDYX5FqITYu3aWCqXNrjXw+WkI82/cpG+CYRhDmJGkhsA3oA6kyE6kC0La/DjEq9yw2A5+/HX4jwBp2LIapo1iQo8SoWUoBkznbbm0/u00eHwQrxaTDFu9oFxhS6NLiv/fVbPRCH3LraXJsVf9l9KBibE2Gu99bzN0WzKbTn3YDIQJntjQcDjvfNxiVaSMTJd190DYpW8hYLuR8NNKlRF49/tj3YMCV6Z8yjHHJ3PT5SnD6IDpwEVt3VF1kCmKIQ6RuXGN8zNA6jyArMSJf+pUBDQczVzNoVs/x8splYj5j+k7vBBVE6BLEYRoX0bqgWaw1WKuDBNvj1hylp4jVlqDo8Z+WLt9SEhWzAIZJhOgj8aCaT1LkUa/OHIXTx6yr4jrUAP28dUg/XdQEwt9bdaVno5TF5gQf01w8Vc1q/YdRQXUWcyoTK+Hh0hCiFTam8CIURc2P67GHXwoPbkOJu/APlZRvXy9FxXBb4iSh0uO7ajXLE+b4vOZ7Buz1fFoiRKX1+V7hRk1oBcm38orVD6ZSqRlLe3QIVPwRIhlhoy5HjigsduHpj9X/8QDg3YEURul2vCpXXzzi+DWMIdmOVL+bWvYKV/HXSXYaDIABNdmXBAy+NtozC4B+fMk8AJiKP/EpzvDix+KHf3B7Qoyy7qY4nn2XwX/MOKdUfUr61I1wIenT5mjGRgVv6+kqdtmO3wxiJLqprSsLZxRZR6TUrY+FV285AupuaJP8hVMQMc077GSyQ5hm8HFq38qZddQzGj8ejW7jjEe2eld3ZfC4vA55gsxtHz0yuVcUYXv/fSIyhkCJBs/+3Muxt2NjG+On10C0l1snj+W50Qoil/9SSx9rFZ11StUVwMBYFDO7v1pgKbsmqHlFQnhaOCXoTTQDWE1541+1w5Hv7ZGtUmUSZRuwc8V6+JaE9XOaEn3+9tntPepr7BDfMZaY12ajCqvKUUxgKRpYLMknmXs02TxRmdS05BFw6RhL/dugtOTLQBpWqRsISlBC7xuJxWfoYwdpokhau2LMS314aLxJb2x/GTH2cm+IPyp1bHhoHOA6ikqu3JKdmw79a6JvxY3EpCdiF281UTuBMAce+VD4OLrVY0SuV6jNNyqkuBBjT7av6op6pCPA5v4D5YVHDZOVPvHFwGOGzP9dNgz2u/GQH+QjRsN8jOlOLaWDDJjms9owebELgLgfPCQW0g0aFU/lamEKHQGdqsIsMekAzu4Tv8zhWmnsUr2TEUJn49R5hrCODLRGE2tIApCSSc1LuDPQCjk4UyzeaEiFkJN9XDUohI9a1eS5nmvHasGJ6kj+y/etH7ROtqq9+6u5t2cn3bpGN2qa5FSOHn1MLC0w/oj/wNMvy5rPPe13VVJFLmqQUDgKsr4v87aZV1oF9gWHqiazbstJ8Zbh64l55PvJ47KXkXO+shhodSJr2sVE0n8SsQ+bkWdlWBhXnqe0uSTD+f6NFLKGO3D0mau+ztK4Fzbkxd8z7o1C5YfoCEjZXwx1SiAAq4zx+FxG2/1Znef6t+jCZQuFyDMbABfOnWbKeRSz5ZgeDETL5bQZd2LZNbNFVvvu2Eit+TSjHa0aveyNUns0dP1DXKK3BykBptgBMqDzS2aTThFz1ZzuuO4j4L3MzbWzGJi79tBn6RjhAkUvXse4XpPfQrLONV4LJcXFPEtM414to1HdCT4vbe/aaslrZc2JeUkrZ7ABhwApEbRRttgmfDyj+5kt+aoVMSkF5HvACzI1opUxuVcNsue5XXz4fcKNQ5el1qxPbQ6UaoJvbpQnNTVSBGH/TJSgbvKq82KMvLeiWqSCT6gzV806/WeqzumU74a0oJWvBh1S58SGCPPCocLlSQShHWUwSoEyEqeFoIMICpXutvRMW90Zv1kjmTC3391XZ39lkl4tTW3aSPNc6sWcEtOtjOPEeDGRe1GRVD5D1gsP+8rWIUvmShqiaNIsZwDG0wV99Jn/HgBcv3eAOHJ+bdcIN+RicE45YPvKveA2Skbb/kE2G8oy/zegZenqcIKo0sedJ5ZP/2huBpvV0hptSSeZWYIDB9hzbEnu9WC/H2M1HnY8xO65N53ESrhqvGTq71MvsUIhtBHHiA83/3G52qQKdaOKyV3A2gYL3kINk2NkW7BRxKY3UgwhcL+vLXpanBtWGtXAncF+9qIo84jkWpVghYfUHcIGq8LTR8EuL1Am9iuXsdhRPBCYaaNYrpHAcCPa5CiGTt55S9Fbj5B0j4r2gijPcpmRxqmWOBWsTCCxDrcWIuyvftTeayFMjOJIIZv2hr4+HaGsQP6MguDdKLprCRnHvH+QKDumNXflxWFtTatDC4WW8dZ92vSyeX7Qk4RXbfJaaFGlgfH2wSshnHQdxv/HXJMmNSN7Qxem4g/gQtXHEHC5gUwG9ondSmSDEx3xwC8W4AC847sX1Ot6wf1SLbGjzhZGV2oykiDfd/iMqt0YX5mfICx3trtmaRynktg9H+Si1wu/TlQmCKEY4S3mM/8BOTrMCUUkhyEH9oH3iRvs9beB2fAe5RdBGRvFbhc0cyu+nMn9fUQMUiMliCHmnxHhnTUpOPeyM2pGM9a5gT/bpTs53+6hXatDZfnr/iJN2qwrwu7Y6TRFmW0/8SumtqkOP1ixs2AMGu32k84RdgN/RYwnK7EY+xC0jicsBY4rYi9XmDV96OADJ8HWz2Rn/k6+KUYmjKkqiQJ0edwyGHMjqfu+WnhncNlHKOrljwBIQCe7HJiaXjXMqcoE3+25vH/knD9qfjhYnYTDBstPxrEpY0IGX/XRn4f4INBKrGZh2uzKgJ+9jPVhvJxdKlLEdbuUsqMqfQQjmVykyoEmrh/gw50WOfDmw/lHOFCow/XnhzjXbzVBUobx+EoWDBH4cXC28LD1EIqtyzBSWGbuTFAhpQ9IxqZSi7EqeGM8M2Ms/02Cd5X/hq4RWpbk9NC/pweX9n7VeS/Jl8+ytfa/Eb+85PXFkcJlRI+7OoizoZaAPs/PTy7jlbn/IucgWQnJNZgbblEQyRWxnlpW4L5mwgwLHk37EBMsqRRGUMAdmMTwYZjTrmw+rd9+X/CtdHVIdQklMF+c6VjNPnihxP9MK65RqwfzwJYVKH//Ozz27up8XEZk541xXPuU6nk/J+Y7KW3xphdu72DxJgYvi9XnhEMDGnBCsqYroctpvSqgaeub3uLoXYswHoA+oA2ypzn1FVv5b70RivSR9QJncRAcboYY3M7dBBggq4xS5LnSbJ0iD1gdvJvDGMBlAa14RRLMCYobbGvixA6pMT7lxffrTxfUBzD+oGVq0A8wPrlTNdJzAaqjDv7cn5JiNWFCZN7rB1AYpMnQ5eHKwGEkQGER0jvM809YxjZYmK7mGkBUyAivXAAlvu/xkebkE1yNCzd08W4GtUgMP9Kjjc5CWkcBMP3qTOky9jRcyOdbfCZ3efJ+F0PEY9D3eRYJ+GmJEj0NiZ1nDJxuJ5i3cnki5GQxnouj9PjV5qxVRxTbRCqNcjP2YbmdmAQ0rFXECXuj2a+DvrWVfEo7dUuL+sp2ZpKVCY+Nl2xBiYq7VMzwAAy2RRa7sbErG8OFELxaxUjM+Kezi6elvEEd2eu7hsViobfFYZkG1dlz93OD3UZfbGrHZOAj+d1ARvvbLn28Qy7viunHPX3+KAPucqdtmR14vnhKVE9wIVmQhshjjiC5CcetQpG3HEMeVm9hFvIcQtlMlak1oipXFoAY/NQfiOtVXDC3kMiEHArPQxdWnjyLVfHh+4CRzYjZSvhKSjqkVuRotPcNziletRCwQ0EXtJCR3AAYKoYXpQ/Qj9XrnVLR34bS4TG+i62s2IKwD156bfwIOn9f3IOozUunyavcJzPvqmpIrYmNWjc7nKDclpYdhr2e9dzktPaEdiTBh9BgI1WFLljyxwqvIU/9QsQDkGznR+x5wqNrCh61HuFnDHsiQTUW13F9pC8N29GpCEwof9ry1Qk+9CC9Y/xbf0xKzIylFIuWObO2mdL+UI/ABDIS4ujFx3ezGr8Dspe9AtdzhI7XKTzfF2ihWD7AqJyzTWbn2MPlFYEhTLd1103A5oCkuYzhKr1q9wQnprdhkvTxhHNltzFJ9Qs7Os53OgrsAE45h6rPW9CBt3cx/xvqyNYPovRZzHkWFpS1WlNBIgj+IzWJCX9W7IDx6P1VI09MCt+1uTdkZyWTiYkwIh5kCU8QSLwBXUujn6SJVPL/ol5QE5cwHFYUujnjb+ro7vsTPcg4X1d3TZdWbB2eNEJdnEjHKGyOUQPklcmioRWHzjUfwP93Ra1UCs1hEmV2cCHpBIjAonQPWFzalpVOksoI/kbrDDkeQmFdgUTBB8Z3GvF8RTf/57cU6O7Le7zFJL9JkJLdXO6s/lfgaodLdv8/bzNW8/FnRVAJAZmPGeZ4tXJZgjbyxYcfyPGXpcJQwWL/2udS6Kvd8OY2q3qooQ50hlxaKEgqlhy+F9hnJopPNhPDifzeQfy8iBUlayYD+3BuPTuMKvb6pBzDzpOlKI9+7AciWIfWsWpZ5UhZRUfO2CI1fTEpL7cUdHVOHfDsMDXI9FuPIZRv/WDiO1hT3alil+lIe53M06fuPx8UaTpknGgL6/pSMbpcFha5yNmTrbAVWgodDV6zwBciwEgF/TzPZHPx++PyFQJjOS2Fs2PTQfePS5hAq6Lfj8yLaX8ABFyZUdwxJeSQmieYYcCyavFkivTl1mFPmZbccxHFKvaEuSeMG3Ecu1nOp+MlKcC7b5Vcfxmdq7SaSEsMw1MvLcM8JN48IVbEfb0rbLQH5dXWp3D7GFK5tIar4aHEBHjV9Kysyo0GLDv5jewdCEJ0JQaib837UMvp+9J2JfNVUvKFjPJW5r2+SM+NWXK9mIV9aj7SxcsHPHNCvft7MLjB3AgT6TMQsoNBdhY6My1IwRdy8zTpS2B+/qYdyUUAPHf0ZiJXqk3Np2iI0qWlW1d8cr/DF17TS7c6t4gcp4vqje7s1DYwMuByqgg+wSZTyPcvdfS9TkYIb9R7BGNMe0QfM4VhX7pFKV63Q/rCEBsZxMnN8s7jlRyEKvXTwvYpkm/mo9UAAO7AiY3FHcPysvU48N26+V0MUXRjQ6ujNscXoVOL07zVpw3+NEpA78aIxoYMcEh+zhoKXgtm/4KTM2xZPldu8HZvweS0Mv7tQjGU1W+iTlBOzMKKCUJ8S3YitXESjG94ozl2U4uZQXKXd4tbMWg0SPOHyr27Bf2VA0mi5I5PKhnTWR4QKC/7OKTo0ANAIZeap7Bx7jK+bfDlOZ0WaLhXPWHZxTD71AloY1gBimiJbvMbTbL4gTqGcuySa2XOo+wV5LbZ9ghHet3fNnoYdusSkFP66Y/TjLnU/SDaUH1tpJqtpOETTRcYR/7P8SVR4tDLfylxzBPlT7SUoaNlEK25LJmXod0KGkDvrRrPCjLrNmVSL3ZJ4rhv/gojE86Tk2WEDbGu6+j6UDRcr0HO6wNNmDkp/fT+QrKDRiR+98UQ++R+8P1r0t82Dw9feyuJkTyxMdeMf7sBgLJ8G+PsNOybaID04g/n8iVDoA1FvnNFXV7wxAlmjL9RjcL7OWP2xPRX1/U1ts7uixMGZVi7vL9thqkLqer5ftYQz2sqDW039b0T9dpPZ//3AAumMMuRVfN53Y/5bx94NXCsC60Y5+T1cEuFofJ1cWvxvxZpIL0tTov6m7Ic40Y+8qIrquUPMm+REUdYLmw8WmU2h6GJV1GzYMEKEW1qlFfa85MFkRo/rZ+4GZV8sLTfQX1Q4HyKhNniTw2c7V1hwdNVqQ6mMXRYU2hHiSrp8+QK877wjHquI7fLpTxJ6H/dy/6kLVJUKVp6IwzAFcq/h06MxVvwh5G5A1pVpdvpIP5m1VjApSu3dg2opB0JCKd/SeXYDfz9hKxEJyKbWsPfO8IeQaGSHaXP3QsoN64eqIqd3A/2++Z+tzfN/Fb6Sz5H6nvPjl9SwQknX57ZuHTJafW8EV9vvvSI9j34hAcD4dJIZZsBZwWSx5GLes/82fKUhffxTv4jWf16ZSJGdzIz9S8Y3lsEUwaFpqoCYqKKTFCDWDaNCM0VYbfcU6aWoLu+/yMpS7KItkfaTv2Xj0goGJgOWv9iWyOc3Im/3i1aNMbdqkD/zintVjqol6/JpkixpZNL6favGoCsORsYjHgMVK1tviL1lKQPkuu4EUDhLPFE6euk8LlKdMj4phlSbmV4+I8EDwRNcsFoObWET/Y6yolYY4q4MluPJv/rtgddHQjW1h1XHV1tucJYdWx9yMTe/oNASkDqn5JWr89RKOdHuZvf8JtO7iyavPPc+fk/28UpiocXzqsGqSABzC5IoFxOTuVlakCHYnD5dh86LpN3sQWq64xLCIZvQLv8rdBW2W7r0RVbS4rB0fzFpYV7fq5kDapAsrBv8ISUgavEzIH/Ecmf/ITKz6MRyO9NiI1layONUZK1IlaU71nR0WvwvWcDpG+08cszS0dfl2VhR78kmL4aC/2lXtrmW7QUa/YsxHGOr0Hw7ogbkAPBWzKAA2fmlTQdGqbeJR9f3tTSSJP5qyAJxFGz7VCRvHJKe2C6XCI2Vnf3C5xxrR1sp5Wp4AcoXAYjEZY9jl91fWNLdjVgZohhyAhqr+7b9fXeiSimWu1j4bQ3MXVAuQ3SuiTvizOCtTrJdpWC7x38qkJnEsoGyTJSaBucjIiRCjS30J3DYvspXenw7AUqX9wQFduSvbxUAnKVuIl5VC329mwXjAtrJIdj5ZBTay80jr9N3knmdwuWFSi7RUZu/xYuAxJOsf9AErTK1F5HfvrcQeHojSQwT3CCkYCpDUFvHDGbo1pjGEs7XyTT8vV//E7iscUXvDsJIMIT3zlOrXstGO/X+X3cvKj4ENebYdvAjZB2ymj7nCPNSR/tpVLiZQ78ImAl/+z6YeSWzFtishVGtT6+onlTY+InLRsA03zdGWE+Y28A9DbK7X9RRFFCJXDX9VBGo8OUXl5wt/LGToWkTpRkXoGhPm9Y+nbSoEQVEe9U7gWtrqq+InAHxTHDh50c12f8Vi0mmp+oo0SdSXp2JJgksCwmHbpYc2CTu+epDr0cQq6XFoeivjROzMfd+yHk0drJnvCBPrhaFc10yeWQUSUWCWS4v1EFsq2sThDX94WPSKG5rWKnevjHXdpUgspUA793pC0837fKXpWOT4ryqfHDHiBAfOH0VTRxEw8RBLGXBg6kg8dXNNHKviIzo5QV1pUOyJ95h6cOPNhwgtEOxe577xmUUs3EN8Z+awb7vyh4gtw6glHDwGVtF+P8sZ3zKB5sjweenNUsRBe2+FvKxe3nSbHI53rGCeI8d7Z6MR/Q27xRk3ZKbmRXetWxYDhr7//YEZzT++XoaDuLIm0u032AiYNCzvQrK9IrAQ/ZXYvWeFoSX+GUTJzkhLDFAnJHc+QSpPgsotBJ0s5Ul52nrgPNDwAqsyeOSvikwfL/5jSC2JzMyc/ip/Cr/kN/EOZovQxSpSxT6FyHI52zkPHgoTqmJLG0ZUT/Fv1WXc3PQAC/2wtnaQHngOtoxKl8Lvhsfi33apg36MuN2HbEzufJ6uJD5EFTxKM0j+oL/EWOErkWd0sOwVyQslNjC0tIACAlfDlKe0nXjz+67Erm1pGkPtu5GN/85RDqAqlQ4gn8rBPQvVK0GGE9TRVDsehE5US2iwXuh3aXKf12bJCR4/LrfilVe2Af1hcFNd9YngWjGq4fSOY8ay3KoiaGsz3sc4/BjDcE4YNyZ+5ZMGrg2q8k45VjoH8m2dRS6eYShwTVRhSNf6YY9gLsooduiiMGVUyqikn1ybfMFwqweZU8C4UdlNNee/hkCtJKko+UV5CYgcU2HxZ+itWlbpyaRHJy/oq1tI/HL5G9Wpsytgw+gOsYpLM38kseW1QFH8UoWBTywrZD8iekhK+s3dZbN0JAWidrzOLv8M/mUyecDe3MUzg5IiovaL2qxdSEvYbfho/U2ThwarbUjTGBnWCI+OeHmM848soeGmMM6JHdIboBLrqj4fmE5NhCAdzs7bihwLRhG4HazX47tmNlw6au+Yjpsm4B7bZRoWoBDDfoRmCXfhfGOthD8t/GmtrHqWVVkB8u4ShzcFTZAmBhgj40AaS8cCOMcaHzMlVm9MTMM3J8CGcMpE653Jbx82Yr290wjRA+7jHBs3+ZGNnWxEyUU5c4vCMxWQrAyGod2dUB8QOXF5l+YyaYKg2lPK1/cipEUMEjNYYlKyEZVSvDc1eb0YdFgdSAlxB2dnvZYUsc3dsi3d5Hv1JltagTJN5akomQz0uhz9mDmiFnVPEMPB2dXjsr0daFAtluDXoZ9HigpsNhX/Dy6grUjz9PjgpslsXiPdLUcUmv+xsD6OMcdulWVp+vJiPX0jaJ47nTipJ+w3nnNA7TL2xHT6lFP09x0cZ8zsFZ6IFJZkqh5FS9icWayqD1iO0TSJrAiLgAAAAKlLDGR/ToWAAGbT4DgAwCdyMEBscRn+wIAAAAABFla\" | base64 -d > atcoder.tar.xz && tar -Jxvf atcoder.tar.xz") let (output, ex) = gorgeEx("nim cpp -d:release -d:SecondCompile -d:danger --path:./ --opt:speed --multimethods:on --warning[SmallLshouldNotBeUsed]:off --checks:off -o:a.out " & fn) discard staticExec("rm -rf ./atcoder");doAssert ex == 0, output;quit(0) # see https://github.com/zer0-star/Nim-ACL/tree/master/src/atcoder/extra/header/chaemon_header.nim include atcoder/extra/header/chaemon_header let A, B = nextInt() echo A + B