output_description: If a good set of choices does not exist, print `-1`.
  
  If a good set of choices exists, print one such set of choices in the
  following format:
  
      
      
      M
      b_1 b_2 ... b_M
      
  
  where M denotes the number of boxes that will contain a ball, and b_1,\ b_2,\
  ...,\ b_M are the integers written on these boxes, in any order.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      a_1 a_2 ... a_N
attempt: import sys
  
  s2nn = lambda s: [int(c) for c in s.split(" ")]
  ss2nn = lambda ss: [int(s) for s in ss]
  ss2nnn = lambda ss: [s2nn(s) for s in ss]
  i2s = lambda: sys.stdin.readline().rstrip()
  i2n = lambda: int(i2s())
  i2nn = lambda: s2nn(i2s())
  ii2ss = lambda n: [sys.stdin.readline().rstrip() for _ in range(n)]
  ii2sss = lambda n: [list(sys.stdin.readline().rstrip()) for _ in range(n)]
  ii2nn = lambda n: ss2nn(ii2ss(n))
  ii2nnn = lambda n: ss2nnn(ii2ss(n))
  
  
  def main():
      N = i2n()
      A = i2nn()
      B = [0] * N
      i = N
      b = 2
      while i > N / b:
          B[i - 1] = A[i - 1]
          i -= 1
      b = 3
      while i > 0:
          while i > N / b:
              B[i - 1] = (A[i - 1] + B[i * 2 - 1]) % 2
              i -= 1
          b += 1
      C = []
      for i, b in enumerate(B):
          if b > 0:
              C.append(i + 1)
      M = len(C)
      print(M)
      for c in C:
          print(c, end=" ")
      print()
  
  
  main()
  
problem_description: Statement
  
  There are N empty boxes arranged in a row from left to right. The integer i is
  written on the i-th box from the left (1 \leq i \leq N).
  
  For each of these boxes, Snuke can choose either to put a ball in it or to put
  nothing in it.
  
  We say a set of choices to put a ball or not in the boxes is good when the
  following condition is satisfied:
  
    * For every integer i between 1 and N (inclusive), the total number of balls contained in the boxes with multiples of i written on them is congruent to a_i modulo 2.
  
  Does there exist a good set of choices? If the answer is yes, find one good
  set of choices.
samples: [{"input": "3\n    1 0 0", "output": "1\n    1\n    \n\nConsider putting a ball only in the box with 1 written on it.\n\n  * There are three boxes with multiples of 1 written on them: the boxes with 1, 2, and 3. The total number of balls contained in these boxes is 1.\n  * There is only one box with a multiple of 2 written on it: the box with 2. The total number of balls contained in these boxes is 0.\n  * There is only one box with a multiple of 3 written on it: the box with 3. The total number of balls contained in these boxes is 0.\n\nThus, the condition is satisfied, so this set of choices is good.\n\n* * *"}, {"input": "5\n    0 0 0 0 0", "output": "0\n    \n\nPutting nothing in the boxes can be a good set of choices."}]