B a/e @ s@ d dl Z d dlZd dlZdddgZG dd deZdZdd Zd d Zdd Z d d Z dd ZdZdd Z dd Zdd Zdd Zdd Zdd Zdd Zd d lmZ d d!lmZ ed"d#Zd$ej_d%ej_d&ej_d'ej_d(ej_d)ej_G d*d+ d+Z G d,d- d-Z!d@d.dZ"dAd/dZ#e$d0kr