require 'prime'

MAX_n = 1120

primes = Prime.each.take_while { |n| n <= MAX_n }

t =
  Array.new(primes.size + 1) {
  Array.new(MAX_n + 1) {
    Array.new(15)
  }
}

0.upto(primes.size) do |i|
  0.upto(MAX_n) do |j|
    0.upto(primes.size) do |k|

      t[i][j][k] = if i == 0 || j <= 1 || k == 0
                     0
                   elsif primes[i-1] == j && k == 1
                     1
                   else
                     t[i-1][j][k] + (primes[i-1] < j ? t[i-1][j-primes[i-1]][k-1] : 0)
                   end
      
      # puts '%p = %p' % [ [i,j,k], t[i][j][k] ]

    end
  end
end

f = lambda { |n, k| t[primes.size][n][k] }

loop do
  n, k = gets.split.map(&:to_i)
  break if [n,k] == [0,0]
  puts f.(n, k)
end