import std/[strutils, sequtils, sugar] proc parseInt(c: char): int = c.int - '0'.int when not defined(release): import std/os let dir = getAppDir() let testFile = dir / "test.txt" if fileExists(testFile): try: discard stdin.reopen(testFile, fmRead) except: discard type Scanner = ref object tokens: seq[string] idx: int proc next(s: Scanner): string = while s.idx >= s.tokens.len: let line = stdin.readLine if line.len == 0: return "" s.tokens = line.split() s.idx = 0 result = s.tokens[s.idx] s.idx.inc let sc = Scanner(tokens: @[], idx: 0) template input(t: typedesc = string): auto = let res = sc.next() when t is string: res elif t is int: res.parseInt elif t is float: res.parseFloat elif t is char: res[0] else: res # --- Solve --- proc solve() = # [Cheat Sheet] # let n = input(int) # 単一整数 # let s = input() # 単一文字列 # let (a, b) = (input(int), input(int)) # 複数整数 # let a = (0..