import sys
def split_any(txt, seps):
seps = iter(seps)
default_sep = next(seps)
for sep in seps:
txt = txt.replace(sep, default_sep)
return txt.split(default_sep)
def inc_range(init, start, end=None, step=1):
np10_start = 10**len(start)
start = int(start)
init_lower = init % np10_start
init_upper = init - init_lower
init = init_upper + start
if init_lower >= start:
init += np10_start
yield init
if end != None:
np10_end = 10**len(end)
end, step = int(end), int(step)
while True:
init += step
yield init
if init % np10_end == end:
break
seps = ['-', ':', '..']
for line in sys.stdin:
line, count, output = line.strip(), 0, []
for item in line.split(','):
for i in inc_range(count, *split_any(item, seps)):
output.append(str(i))
count = i
print(' '.join(output))
aW1wb3J0IHN5cwoKZGVmIHNwbGl0X2FueSh0eHQsIHNlcHMpOgoJc2VwcyA9IGl0ZXIoc2VwcykKCWRlZmF1bHRfc2VwID0gbmV4dChzZXBzKQkKCWZvciBzZXAgaW4gc2VwczoKCQl0eHQgPSB0eHQucmVwbGFjZShzZXAsIGRlZmF1bHRfc2VwKQoJcmV0dXJuIHR4dC5zcGxpdChkZWZhdWx0X3NlcCkKCmRlZiBpbmNfcmFuZ2UoaW5pdCwgc3RhcnQsIGVuZD1Ob25lLCBzdGVwPTEpOgoJbnAxMF9zdGFydCA9IDEwKipsZW4oc3RhcnQpCglzdGFydCA9IGludChzdGFydCkKCQoJaW5pdF9sb3dlciA9IGluaXQgJSBucDEwX3N0YXJ0Cglpbml0X3VwcGVyID0gaW5pdCAtIGluaXRfbG93ZXIKCWluaXQgPSBpbml0X3VwcGVyICsgc3RhcnQKCWlmIGluaXRfbG93ZXIgPj0gc3RhcnQ6CgkJaW5pdCArPSBucDEwX3N0YXJ0Cgl5aWVsZCBpbml0CgkKCWlmIGVuZCAhPSBOb25lOgoJCW5wMTBfZW5kID0gMTAqKmxlbihlbmQpCgkJZW5kLCBzdGVwID0gaW50KGVuZCksIGludChzdGVwKQoJCXdoaWxlIFRydWU6CgkJCWluaXQgKz0gc3RlcAoJCQl5aWVsZCBpbml0CgkJCWlmIGluaXQgJSBucDEwX2VuZCA9PSBlbmQ6CgkJCQlicmVhawoKc2VwcyA9IFsnLScsICc6JywgJy4uJ10KZm9yIGxpbmUgaW4gc3lzLnN0ZGluOgoJbGluZSwgY291bnQsIG91dHB1dCA9IGxpbmUuc3RyaXAoKSwgMCwgW10KCWZvciBpdGVtIGluIGxpbmUuc3BsaXQoJywnKToKCQlmb3IgaSBpbiBpbmNfcmFuZ2UoY291bnQsICpzcGxpdF9hbnkoaXRlbSwgc2VwcykpOgoJCQlvdXRwdXQuYXBwZW5kKHN0cihpKSkKCQljb3VudCA9IGkKCXByaW50KCcgJy5qb2luKG91dHB1dCkp
MSwzLDcsMiw0LDEKMS0zLDEtMgoxOjU6MgoxMDQtMgoxMDQuLjAyCjU0NSw2NDoxMQ==
1,3,7,2,4,1
1-3,1-2
1:5:2
104-2
104..02
545,64:11