Buggy python submission (verdict: Runtime Error):
alphabet = 'abcdefghijklmnopqrstuvwxyz'
from collections import defaultdict

adict = defaultdict(int)

while True:
    str = ''
    str = input().lower()
    if len(str) == 0:
        break
    for c in str:
        adict[c] += 1

for k in alphabet:
    print('%s : %i' %(k, adict[k]))

Fixed submission:
alphabet = 'abcdefghijklmnopqrstuvwxyz'
from collections import defaultdict
import sys

adict = defaultdict(int)

for l in sys.stdin:
    for c in l.lower():
        adict[c] += 1
        
for k in alphabet:
    print('%s : %i' %(k, adict[k]))

Buggy python submission (verdict: Runtime Error):
alphabet = 'abcdefghijklmnopqrstuvwxyz'
from collections import defaultdict

adict = defaultdict(int)

while True:
    str_in = input().lower()
    if len(str_in) == 0:
        break
    for c in str_in:
        adict[c] += 1

for k in alphabet:
    print('%s : %i' %(k, adict[k]))

Fixed submission:
alphabet = 'abcdefghijklmnopqrstuvwxyz'
from collections import defaultdict
import sys

adict = defaultdict(int)

for l in sys.stdin:
    for c in l.lower():
        adict[c] += 1
        
for k in alphabet:
    print('%s : %i' %(k, adict[k]))

Buggy python submission (verdict: Runtime Error):
alphabet = 'abcdefghijklmnopqrstuvwxyz'
from collections import defaultdict

adict = defaultdict(int)

while True:
    str_in = input().lower()
    for c in str_in:
        adict[c] += 1
    if str_in[-1] == '.':
        break

for k in alphabet:
    print('%s : %i' %(k, adict[k]))

Fixed submission:
alphabet = 'abcdefghijklmnopqrstuvwxyz'
from collections import defaultdict
import sys

adict = defaultdict(int)

for l in sys.stdin:
    for c in l.lower():
        adict[c] += 1
        
for k in alphabet:
    print('%s : %i' %(k, adict[k]))

Buggy python submission (verdict: Runtime Error):
alphabet = 'abcdefghijklmnopqrstuvwxyz'
from collections import defaultdict

adict = defaultdict(int)

while True:
    str_in = input().lower()
    for c in str_in:
        adict[c] += 1
    if str_in[-1] == '.':
        break

for k in alphabet:
    print('%s : %i' %(k, adict[k]))

Fixed submission:
alphabet = 'abcdefghijklmnopqrstuvwxyz'
from collections import defaultdict
import sys

adict = defaultdict(int)

for l in sys.stdin:
    for c in l.lower():
        adict[c] += 1
        
for k in alphabet:
    print('%s : %i' %(k, adict[k]))

Buggy python submission (verdict: Runtime Error):
alphabet = 'abcdefghijklmnopqrstuvwxyz'
from collections import defaultdict

adict = defaultdict(int)

while True:
    str_in = input().lower()
    for c in str_in:
        adict[c] += 1
    try:
        if str_in[-1] == '.':
            break
    except:
        break

for k in alphabet:
    print('%s : %i' %(k, adict[k]))

Fixed submission:
alphabet = 'abcdefghijklmnopqrstuvwxyz'
from collections import defaultdict
import sys

adict = defaultdict(int)

for l in sys.stdin:
    for c in l.lower():
        adict[c] += 1
        
for k in alphabet:
    print('%s : %i' %(k, adict[k]))

Buggy python submission (verdict: Runtime Error):
alphabet = 'abcdefghijklmnopqrstuvwxyz'
from collections import defaultdict

adict = defaultdict(int)

while True:
    str_in = input().lower()
    for c in str_in:
        adict[c] += 1
    try:
        if str_in[-1] == '.':
            break
    except:
        break

for k in alphabet:
    print('%s : %i' %(k, adict[k]))

Fixed submission:
alphabet = 'abcdefghijklmnopqrstuvwxyz'
from collections import defaultdict
import sys

adict = defaultdict(int)

for l in sys.stdin:
    for c in l.lower():
        adict[c] += 1
        
for k in alphabet:
    print('%s : %i' %(k, adict[k]))