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)));
ZGVmYXVsdCA9ICcxMjM0NTY3ODkwUVdFUlRZVUlPUEFTREZHSEpLTFpYQ1ZCTk1xd2VydHl1aW9wYXNkZmdoamtsenhjdmJubSc7CmV4dGVuZGVkID0gZGVmYXVsdCArICd+IUAjJCVeJiooKV8rYC09e31bXToiO1wnLC4vPD4/JzsKCmRmdCA9IGxlbihkZWZhdWx0KQpleHQgPSBsZW4oZXh0ZW5kZWQpCgpkZWY4LCBkZWYxMiwgZGVmMjAgPSBkZnQqKjgsIGRmdCoqMTIsIGRmdCoqMjA7CmV4dDgsIGV4dDEyLCBleHQyMCA9IGV4dCoqOCwgZXh0KioxMiwgZXh0KioyMDsKCnByaW50KCdEZWZhdWx0OiAnLCBkZnQsICdcbjg6ICcsIGRlZjgsICdcbjEyOicsIGRlZjEyLCAnXG4yMDonLCBkZWYyMCwgJ1xuJyk7CnByaW50KCdFeHRlbmRlZDonLCBleHQsICdcbjg6ICcsIGV4dDgsICdcbjEyOicsIGV4dDEyLCAnXG4yMDonLCBleHQyMCwgJ1xuJyk7CgpwcmludCgnODogJywgbGVuKHN0cihleHQ4KSkgLSBsZW4oc3RyKGRlZjgpKSk7CnByaW50KCcxMjonLCBsZW4oc3RyKGV4dDEyKSkgLSBsZW4oc3RyKGRlZjEyKSkpOwpwcmludCgnMjA6JywgbGVuKHN0cihleHQyMCkpIC0gbGVuKHN0cihkZWYyMCkpLCAnXG4nKTsKcHJpbnQoJzgtMjA6JywgbGVuKHN0cihkZWYyMCkpIC0gbGVuKHN0cihkZWY4KSkpOwpwcmludCgnOC0yMDonLCBsZW4oc3RyKGV4dDIwKSkgLSBsZW4oc3RyKGV4dDgpKSk7