MAX =10000
isPrime = Array.new(MAX+1,true)
isPrime[0,2]=false,false
(2..100).each{|i|
  if isPrime[i]
    (i*2).step(MAX,i){|j|
      isPrime[j]=false
    }
  end
}
prime=[]
isPrime.each_index{|x|
  prime << x if isPrime[x]
}
 
loop do
  n = gets.to_i
  break if n==0
  c=0
  (0...prime.size).each{|i|
    break if prime[i] > n
    sum =0
    (i...prime.size).each{|j|
      break if sum>n
      sum+=prime[j]
      if sum==n
        c+=1
        break
      end
    }
  }
  puts c
end