func main() var n: int :: cui@inputInt() var m: int :: cui@inputInt() var nums: []int :: #[n]int var reverseFlag: bool :: false var skipFlag: bool :: false var id: int :: 0 var prev: []char :: "-" var add: int :: 0 for i(1, m) var s: []char :: cui@inputStr() if(prev[0] = 'd' & s <> prev) do nums[id] :- add do add :: 0 do next(&id, reverseFlag, n) end if switch(s) case "drawtwo", "drawfour" do add :+ s = "drawtwo" ?(2, 4) case "skip" do skipFlag :: true case "reverse" do reverseFlag :: !reverseFlag end switch do nums[id] :+ 1 do prev :: s if(i <> m) for(1, skipFlag ?(2, 1)) do next(&id, reverseFlag, n) end for do skipFlag :: false end if end for do cui@print("\{id + 1} \{nums[id]}\n") func next(id: &int, reverseFlag: bool, n: int) do id :+ reverseFlag ?(n - 1, 1) do id :% n end func end func