#!/usr/bin/python3
# Released into the public domain, where possible (http://creativecommons.org/publicdomain/zero/1.0/)

import sys
import re
import hashlib

fc = sys.argv[1]

parts = re.match('^(\d{4})-(\d{4})-(\d{4})$', fc)

if not parts:
  print("Wrong format!")
  sys.exit(1)

fcint = int("".join(parts.group(1, 2, 3)))
principal = fcint & 0xffffffff
checksum = fcint >> 32

sha1 = hashlib.sha1()
sha1.update(principal.to_bytes(4, byteorder='little'))
calcsum = sha1.digest()[0] >> 1

print(fc, fcint, principal, checksum, calcsum)
assert checksum == calcsum