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: f2487d299de532034d0878cdf687beca 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 var A, B = nextInt() echo A + B