import scipy.optimize as opt (N,),(H,),*xy=[list(map(int,s.split())) for s in open(0)] def f(a): a1,a2=a ret=0 for x,y in xy: ret+=min((y-a1*x)**2,(y-a2*x-H)**2) return ret #print(opt.dual_annealing(f,[(0,500),(-500,500)],maxiter=500).fun) print(opt.basinhopping(f,(0,0)).fun) #print(opt.differential_evolution(f,[(0,500),(-500,500)]))