What is the maximum number of Bitcoin that can ever exist?

A) 10 Million
B) 21 Million
C) 50 Million
D) 100 Million