def  ip_to_num(ip):
     ip = [ int (x)  for  in  ip.split( '.' )]
     return  ip[ 0 ] << 24  | ip[ 1 ]<< 16  | ip[ 2 ]<< 8  |ip[ 3 ]
def  num_to_ip(num):
     return  '%s.%s.%s.%s'  % ( (num &  0xff000000 ) >> 24 ,
                             (num &  0x00ff0000 ) >> 16 ,
                             (num &  0x0000ff00 ) >> 8 ,
                             num &  0x000000ff  )