import strutils, sequtils, math, sets proc `**`*(base: int, exp: int): int64 = var base: int64 = base.int64 var exp: int64 = exp.int64 result = int64(1) while exp != 0: if (exp and 1) != 0: result *= base exp = exp shr 1 base *= base proc mypow64*(base: int, exp: int): int64 = var base: int64 = base.int64 var exp: int = exp result = 1.int64 for i in 0..