import numpy as np
def new_jaccard(vec1, vec2):
vec1 = np.array(vec1)
vec2 = np.array(vec2)
vec1 = vec1/sum(vec1)
vec2 = vec2/sum(vec2)
s0=0
s1=0
s2=0
for i in range(len(vec1)):
s1+=vec1[i]*vec1[i]
s2+=vec2[i]*vec2[i]
s0 += vec1[i]*vec2[i]
print(s0, s1, s2)
return s0/(s1+s2-s0)
apple = [0,0,1,0,5,2,2,0,0,0,0,0,0,0,0,0]
hp = [0,0,0,0,5,5,3,5,3,0,3,0,0,0,0,0]
samsung=[1,0,1,0,15,1,9,1,5,0,1,0,1,0,3,0]
print(len(apple), len(hp), len(samsung))
print('Apple hp')
print(new_jaccard(apple,hp))
print('Apple samsung')
print(new_jaccard(apple,samsung))
print('samsung hp')
print(new_jaccard(samsung,hp))
aW1wb3J0IG51bXB5IGFzIG5wCmRlZiBuZXdfamFjY2FyZCh2ZWMxLCB2ZWMyKToKCXZlYzEgPSBucC5hcnJheSh2ZWMxKQoJdmVjMiA9IG5wLmFycmF5KHZlYzIpCgl2ZWMxID0gdmVjMS9zdW0odmVjMSkKCXZlYzIgPSB2ZWMyL3N1bSh2ZWMyKQoJczA9MAoJczE9MAoJczI9MAoJZm9yIGkgaW4gcmFuZ2UobGVuKHZlYzEpKToKCQlzMSs9dmVjMVtpXSp2ZWMxW2ldCgkJczIrPXZlYzJbaV0qdmVjMltpXQoJCXMwICs9IHZlYzFbaV0qdmVjMltpXQoJcHJpbnQoczAsIHMxLCBzMikKCXJldHVybiBzMC8oczErczItczApCgphcHBsZSA9IFswLDAsMSwwLDUsMiwyLDAsMCwwLDAsMCwwLDAsMCwwXQpocCA9IFswLDAsMCwwLDUsNSwzLDUsMywwLDMsMCwwLDAsMCwwXQpzYW1zdW5nPVsxLDAsMSwwLDE1LDEsOSwxLDUsMCwxLDAsMSwwLDMsMF0KcHJpbnQobGVuKGFwcGxlKSwgbGVuKGhwKSwgbGVuKHNhbXN1bmcpKQoKcHJpbnQoJ0FwcGxlIGhwJykKcHJpbnQobmV3X2phY2NhcmQoYXBwbGUsaHApKQpwcmludCgnQXBwbGUgc2Ftc3VuZycpCnByaW50KG5ld19qYWNjYXJkKGFwcGxlLHNhbXN1bmcpKQoKcHJpbnQoJ3NhbXN1bmcgaHAnKQpwcmludChuZXdfamFjY2FyZChzYW1zdW5nLGhwKSkKCgoKCgo=