#!/usr/bin/env python

import random, string

digits = map(int, string.digits)


def checksum(serial, offset):
    return sum(serial[offset * 4 + i] for i in range(4))

while True:
    serial = [random.choice(digits) for i in range(16)]

    var_36 = checksum(serial, 0)
    if var_36 < 5: continue
    if var_36 > 0x18: continue

    var_30 = checksum(serial, 3)
    if var_30 % 2 != 1: continue
    if (var_36 + var_30) % 2 != 0: continue

    var_34 = checksum(serial, 1)
    var_32 = checksum(serial, 2)
    if var_32 >= var_34: continue

    if var_36 + var_34 != 2 * (var_32 +var_30): continue
    break

serial = ''.join(map(str, serial))
print serial[0:4] + '-' + serial[4:8] + '-' + serial[8:12] + '-' + serial[12:16]

