header = f.read(13)
o.write( header )
for i in range(1 << ( (ord(header[10]) & 7) +1 )):
    gray = (ord(f.read(1)) + ord(f.read(1)) + ord(f.read(1)))/3
    o.write(3*chr(gray))
o.write( f.read() )

