import socket
mips = open('mips').read().strip().split('\n')
known = open('known').read().strip().split('\n')
def dist(a, b):
def to_num(addr):
quads = map(ord, socket.inet_aton(addr))
return reduce(lambda x,y: x * 0x10000 + y, quads)
return abs(to_num(a) - to_num(b))
def score_cal(oscore):
t = 0
for i in range(len(oscore)):
t += oscore[i] * 0.95**i
return t
print(mips, known)
m = dist('0.0.0.0', '255.255.255.255')
for i in mips:
score = []
print(i)
for j in known:
#print(i, j)
score.append((m - dist(i, j))//1e15)
#print(score)
score.sort()
score.reverse()
print(score_cal(score))