B
� f�H � @ s& d Z ddlZddlZddlZdZdZdZdZdZdZ dZ
d Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZd
ZdZdZdZ ej!dkr�dZ"eeee fZ#ndZ"eeeefZ#e$dd � e%e&e"��D ��Z'd!Z(G d"d#� d#�Z)e%de&e"�> �Z*d$d � e*D �Z+d%d&� Z,e,e*�Z-g Z.xNe*D ]FZ/dZ0x0e%e&e"��D ] Z1de1> e/@ �r6e0e#e1 O Z0�q6W e.�2e0� �q W G d'd(� d(�Z3d)Z4e3fd e)fe&e4�d Z5e$d*d � e%e&e4��D ��Z6e�7d+�Z8e�7d,�Z9d-d.� Z:d/d0� Z;i Z