default = '1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm';
extended = default + '~!@#$%^&*()_+`-={}[]:";\',./<>?';

dft = len(default)
ext = len(extended)

def8, def12, def20 = dft**8, dft**12, dft**20;
ext8, ext12, ext20 = ext**8, ext**12, ext**20;

print('Default: ', dft, '\n8: ', def8, '\n12:', def12, '\n20:', def20, '\n');
print('Extended:', ext, '\n8: ', ext8, '\n12:', ext12, '\n20:', ext20, '\n');

print('8: ', len(str(ext8)) - len(str(def8)));
print('12:', len(str(ext12)) - len(str(def12)));
print('20:', len(str(ext20)) - len(str(def20)), '\n');
print('8-20:', len(str(def20)) - len(str(def8)));
print('8-20:', len(str(ext20)) - len(str(ext8)));