#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import struct
import hashlib

struct_fmt = 'I'
struct_len = struct.calcsize(struct_fmt)
struct_unpack = struct.Struct(struct_fmt).unpack_from

results = {'I':[],'Q':[]}
with open('challenge.iq', "rb") as f:
    while True:
        data = f.read(struct_len)
        if not data: break
        results['I'].append((data,struct.Struct(struct_fmt).unpack_from(data)))
        data = f.read(struct_len)
        if not data: break
        results['Q'].append((data,struct.Struct(struct_fmt).unpack_from(data)))

rawdata = b''.join([e[0] for e in results['I']] + [e[0] for e in results['Q']])
hash = hashlib.sha256(rawdata).hexdigest()
print("FCSC{%s}" % hash)
