is_prime = Array.new(50001, true)
is_prime[0] = is_prime[1] = false
(2..223).each{|p|
  if is_prime[p]
    (p*2).step(50000,p){|i|
      is_prime[i] = false
    }
  end
}

f = ->n{
  return (is_prime[n-2] ? 1 : 0) if n.odd?
  (2..(n/2)).count{|i| is_prime[i] and is_prime[n-i]}
}

loop{
  n = gets.to_i
  break if n==0
  p f[n]
}
