phones = ['00-44 48 5555 8361', '34535 43 - 23', '023423 1 2-00',
'345345345345', '(345)-345765 345 75', '8(913)345-341 2 3']
def canon_number(number):
digits = [c for c in number if c.isdigit()]
remainder = len(digits) % 3
head = "{}{}{}-" * (len(digits) // 3 - 1)
if remainder == 1:
tail = "{}{}-{}{}"
elif remainder == 2:
tail = "{}{}{}-{}{}"
else:
tail = "{}{}{}"
return (head + tail).format(*digits)
for phone in phones:
print(canon_number(phone))
cGhvbmVzID0gWycwMC00NCAgICA0OCA1NTU1IDgzNjEnLCAnMzQ1MzUgNDMgLSAyMycsICcwMjM0MjMgMSAyLTAwJywKICAgICAgICAgICczNDUzNDUzNDUzNDUnLCAnKDM0NSktMzQ1NzY1IDM0NSA3NScsICc4KDkxMykzNDUtMzQxICAyIDMnXQogICAgICAgICAgCmRlZiBjYW5vbl9udW1iZXIobnVtYmVyKToKCWRpZ2l0cyA9IFtjIGZvciBjIGluIG51bWJlciBpZiBjLmlzZGlnaXQoKV0KCXJlbWFpbmRlciA9IGxlbihkaWdpdHMpICUgMwoJaGVhZCA9ICJ7fXt9e30tIiAqIChsZW4oZGlnaXRzKSAvLyAzIC0gMSkKCglpZiByZW1haW5kZXIgPT0gMToKCQl0YWlsID0gInt9e30te317fSIKCWVsaWYgcmVtYWluZGVyID09IDI6CgkJdGFpbCA9ICJ7fXt9e30te317fSIKCWVsc2U6CgkJdGFpbCA9ICJ7fXt9e30iCgkKCXJldHVybiAoaGVhZCArIHRhaWwpLmZvcm1hdCgqZGlnaXRzKQoJCgkKCQpmb3IgcGhvbmUgaW4gcGhvbmVzOgoJcHJpbnQoY2Fub25fbnVtYmVyKHBob25lKSkKCQ==