import csv
import random as rd
import matplotlib.pyplot as plt
Inf=1e9
data=csv.reader(open("dataII.csv","r"))
L=list(data);X=[];Y=[]
for row in L:
X.append(float(row[0]));Y.append(float(row[1]))
N=len(X);step=0.0001
#a=rd.uniform(-Inf,Inf)
#b=float(rd.randint(-100,100))
a=0;b=0
for count2 in range(1000):
tmp=0.0
for i in range(N):
tmp+=a*X[i]*X[i]+b*X[i]-X[i]*Y[i]
tmp/=N
aa=a-step*tmp
tmp=0.0
for i in range(N):
tmp+=a*X[i]+b-Y[i]
tmp/=N
bb=b-step*tmp
a=aa
b=bb
Q=0.0
for i in range(N):
Q+=(a*X[i]+b-Y[i])*(a*X[i]+b-Y[i])
Q/=(2.0*N)
print(a,b,Q)