#include using namespace std; double solve(vector x){ int const n=x.size(); double res=0.L; for (auto i: x) res+=powl(i,2); vector s(n+1); for (int i=0; i> dp(n+1,vector(n+1,1e60L)); dp[0][0]=0; for (int i=1; i<=n; i++){ for (int j=0; j=(s[j]-s[k])/(j-k)){ dp[i][j]=min(dp[i][j],(double)(-powl(s[i]-s[j],2)/(i-j)+dp[j][k])); } } } } double best=1e60L; for (int i=n; i--;){ best=min(best,dp[n][i]); } return res+best; } int main(){ int n; cin>>n; vector x(n),y(n); for (int i=0; i>x[i]>>y[i]; } cout.precision(6); cout<