n = gets.to_i
s = gets.split.map { |s| s.to_i }
s.sort!
t = [s.pop]
while s.length > 0
  t1 = []
  jj = s.length - 1
  t.reverse_each { |i|
    while jj > -1 && s[jj] > i - 1
      jj -= 1
    end
    if jj < 0
      puts 'No'
      exit
    end
    t1 << s[jj]
    s.delete_at(jj)
    jj -= 1
  }
  t = (t + t1).sort
end
puts 'Yes'
