local n, p = io.read("*n", "*n")
local ev, od = {}, {}
local a = io.read("*n")
if(a % 2 == 0) then ev[1], od[1] = 2, 0
else ev[1], od[1] = 1, 1 end
for i = 2, n do
  a = io.read("*n")
  if(a % 2 == 0) then
    ev[i] = ev[i - 1] * 2
    od[i] = od[i - 1] * 2
  else
    ev[i] = ev[i - 1] + od[i - 1]
    od[i] = ev[i - 1] + od[i - 1]
  end
end
if(p == 0) then print(ev[n]) else print(od[n]) end
