# I once heard that 'brevity is the soul of programming'. I take this principle to heart...mostly

return (sum([i*j for i,j in zip([i-(sum(x)/len(x)) for i in x],[i-(sum(y)/len(y)) for i in y])])/len([i*j for i,j in zip([i-(sum(x)/len(x)) for i in x],[i-(sum(y)/len(y)) for i in y])]))/(((sum([(i-(sum(x)/len(x)))**2 for i in x])/len([(i-(sum(x)/len(x)))**2 for i in x]))**0.5)*((sum([(i-(sum(y)/len(y)))**2 for i in y])/len([(i-(sum(y)/len(y)))**2 for i in y]))**0.5))