Hamming Codes, Single Error — Correcting and Cyclic