local function Pow(v, p, m) --возведение в степень по модулю if p == 0 then return 1 end if p == 1 then return v end if p % 2 == 1 then return (Pow(v, p - 1, m) * v) % m end local x = Pow(v, p / 2, m) return (x * x) % m end for i = 1, 30 do print(Pow(2, 1000000, 37)) end