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: 36913709524848bf2a765feb778e1208 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" # for yukicoder discard staticExec("echo \"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\" | 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