
object Main {

  def printArray(arr: Array[Int]): Unit =
    println(arr.mkString("\n"))

  def main(args: Array[String]): Unit = {
    val sc = new java.util.Scanner(System.in)

    // 1以上N以下の任意の整数iについて, iの倍数が書かれた箱に入っている
    // ボールの個数の和を2で割った余りがa_iである

    val N = sc.nextInt()
    val A = Array.fill(N)(sc.nextInt() match {
      case 1 => true
      case 0 => false
    })

    // 言い換えると, 1以上,N以下の任意のiについて
    // iの倍数の個数を2で割った余りがa_iであるかどうか
    val B = new Array[Boolean](N)
    var i = N
    while (i > 0) {
      var s = false
      var j = 2
      while (i * j <= N) {
        s ^= B(i * j - 1)
        j += 1
      }
      if (s != A(i-1))
        B(i-1) = true
      i -= 1
    }
    val boxes = B.zipWithIndex.filter(_._1)
    val M = boxes.length
    val results = boxes.map(_._2 + 1).mkString(" ")
    println(M)
    if (M != 0)
      println(results)
  }

}
