最小二乗法で楕円フィッティング

式はここを参考に
imagingsolution.blog.fc2.com
matlabでの楕円の書き方
matoyomi.hatenablog.com

clear all;
close all;
format compact;

x = [1,2,5,7,9,6,3,8];
y = [7,6,8,7,5,7,2,4];

F = inv([x.^2*y.^2' x*y.^3'    x.^2*y'   x*y.^2'   x*y'
 x*y.^3'    sum(y.^4)  x*y.^2'   sum(y.^3) sum(y.^2)
 x.^2*y'    x*y.^2'    sum(x.^2) x*y'      sum(x)
 x*y.^2'    sum(y.^3)  x*y'      sum(y.^2) sum(y)
 x*y'       sum(y.^2)  sum(x)    sum(y)    length(x)]) * ...
[-x.^3*y' -x.^2*y.^2' -sum(x.^3) -x.^2*y' -sum(x.^2)]';

A=F(1);B=F(2);C=F(3);D=F(4);E=F(5);

X0=(A*D-2*B*C)/(4*B-A^2);
Y0=(A*C-2*D)/(4*B-A^2);
theta=atan2(A,1-B)/2;
a = sqrt(...
    (X0*cos(theta)+Y0*sin(theta))^2 ...
    -E*(cos(theta))^2 ...
    -((X0*sin(theta)-Y0*cos(theta))^2-E*(sin(theta))^2) ...
        *((sin(theta)^2-B*(cos(theta))^2)/(cos(theta)^2-B*(sin(theta))^2)));   
b = sqrt(...
    (X0*sin(theta)-Y0*cos(theta))^2 ...
    -E*(sin(theta))^2 ...
    -((X0*cos(theta)+Y0*sin(theta))^2-E*(cos(theta))^2) ...
        *((cos(theta)^2-B*(sin(theta))^2)/(sin(theta)^2-B*(cos(theta))^2)));   

t=0:0.1:2*pi;
n=length(t)
x1=[a*cos(t);
b*sin(t)];
c=[X0*ones(1,n);Y0*ones(1,n)];
R=[cos(theta) -sin(theta);
    sin(theta) cos(theta)];
X=R*x1+c;
X
plot(X(1,:),X(2,:),'bo')
hold on;
plot(x,y,'ro');
plot(X0,Y0,'go');
axis equal;|

f:id:seinzumtode:20190421112125p:plain
いけそうなので点群で試してみる

clear all;
close all;
format compact;

% x = [1,2,5,7,9,6,3,8];
% y = [7,6,8,7,5,7,2,4];

x = [  5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   6
   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6
   6   6   6   6   7   7   7   7   7   7   7   7   7   7   7   7   7   8
   8   8   8   8   8   8   8   8   8   8   8   9   9   9   9   9   9   9
   9   9   9   9   9   9  10  10  10  10  10  10  10  10  10  10  10  10
  10  10  10  10  10  10  10  10  10  10  10  10  10  10  10  10  10  10
  10  10  10  10  10  10  10  10  10  10  11  11  11  11  11  11  11  11
  11  11  11  11  11  11  11  11  11  11  11  11  11  11  11  11  11  11
  11  11  11  11  11  11  11  11  11  11  11  11  11  11  11  11  11  11
  11  11  11  11  11  11  11  11  11  11  11  11  11  11  11  11  11  11
  11  11  11  11  11  11  11  11  11  11  11  11  11  11  11  11  12  12
  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12
  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12
  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12
  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12
  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12  12
  12  12  12  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13
  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13
  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13
  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13
  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13
  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13  13
  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14
  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14
  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14
  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14
  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14
  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14  14
  14  14  14  14  14  14  14  15  15  15  15  15  15  15  15  15  15  15
  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15
  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15
  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15
  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15
  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15
  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15  15
  15  15  15  15  15  15  15  15  15  16  16  16  16  16  16  16  16  16
  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16
  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16
  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16
  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16
  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16
  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16
  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16  16
  16  16  16  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17
  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17
  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17
  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17
  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17
  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17
  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17
  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17  17
  17  17  17  17  17  17  17  18  18  18  18  18  18  18  18  18  18  18
  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18
  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18
  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18
  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18
  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18
  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18
  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18
  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18
  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  18  19  19
  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19
  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19
  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19
  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19
  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19
  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19
  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19
  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19
  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19  19
  19  19  19  19  19  19  19  19  19  19  20  20  20  20  20  20  20  20
  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20
  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20
  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20
  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20
  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20
  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20
  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20
  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20  20
  20  20  20  20  20  20  20  20  20  20  20  21  21  21  21  21  21  21
  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21
  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21
  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21
  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21
  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21
  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21
  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21
  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21  21
  21  21  21  21  21  21  21  21  21  21  21  21  21  21  22  22  22  22
  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22
  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22
  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22
  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22
  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22
  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22
  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22
  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22
  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22  22
  22  22  22  22  22  22  23  23  23  23  23  23  23  23  23  23  23  23
  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23
  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23
  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23
  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23
  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23
  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23
  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23
  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23
  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23  23
  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24
  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24
  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24
  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24
  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24
  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24
  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24
  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24
  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24  24
  24  24  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25
  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25
  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25
  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25
  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25
  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25
  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25
  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25  25
  25  25  25  25  25  26  26  26  26  26  26  26  26  26  26  26  26  26
  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26
  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26
  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26
  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26
  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26
  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26
  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26  26
  26  26  26  26  26  26  26  26  26  26  27  27  27  27  27  27  27  27
  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27
  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27
  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27
  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27
  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27
  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27
  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27
  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27
  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27  27
  27  27  27  27  27  27  27  27  27  27  27  27  27  28  28  28  28  28
  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28
  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28
  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28
  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28
  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28
  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28
  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28
  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28
  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28
  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28
  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28
  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  28  29  29
  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29
  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29
  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29
  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29
  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29
  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29
  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29
  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29
  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29
  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29
  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29
  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29  29
  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30
  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30
  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30
  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30
  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30
  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30
  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30
  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30
  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30
  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30
  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30  30
  30  30  30  30  30  30  30  30  30  30  30  30  30  31  31  31  31  31
  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31
  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31
  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31
  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31
  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31
  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31
  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31
  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31
  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31
  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31  31
  31  31  31  31  31  31  31  31  31  31  31  31  31  31  32  32  32  32
  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32
  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32
  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32
  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32
  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32
  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32
  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32
  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32
  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32
  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32  32
  32  32  32  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33
  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33
  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33
  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33
  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33
  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33
  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33
  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33
  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33
  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33  33
  33  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34
  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34
  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34
  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34
  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34
  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34
  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34
  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34
  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34  34
  34  34  34  34  34  34  35  35  35  35  35  35  35  35  35  35  35  35
  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
  35  35  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36
  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36
  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36
  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36
  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36
  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36
  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36
  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36  36
  36  36  36  36  36  36  36  36  36  36  36  36  37  37  37  37  37  37
  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37
  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37
  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37
  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37
  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37
  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37
  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37  37
  37  37  37  37  37  37  37  37  37  38  38  38  38  38  38  38  38  38
  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38
  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38
  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38
  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38
  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38
  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38
  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38  38
  38  38  38  38  39  39  39  39  39  39  39  39  39  39  39  39  39  39
  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39
  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39
  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39
  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39
  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39
  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39
  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39  39
  39  39  39  39  39  39  39  39  39  40  40  40  40  40  40  40  40  40
  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40
  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40
  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40
  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40
  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40
  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40
  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40  40
  40  40  40  40  40  40  40  40  40  40  40  41  41  41  41  41  41  41
  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41
  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41
  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41
  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41
  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41
  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41
  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41
  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41  41
  41  41  41  41  41  41  41  41  42  42  42  42  42  42  42  42  42  42
  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42
  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42
  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42
  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42
  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42
  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42
  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42  42
  42  42  42  42  42  42  42  42  42  42  42  42  42  42  43  43  43  43
  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43
  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43
  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43
  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43
  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43
  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43
  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43  43
  43  43  43  43  43  43  43  44  44  44  44  44  44  44  44  44  44  44
  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44
  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44
  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44
  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44
  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44
  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44  44
  44  44  44  44  44  44  44  45  45  45  45  45  45  45  45  45  45  45
  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46
  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46
  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46
  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46
  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46
  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46  46
  46  46  46  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47
  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47
  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47
  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47
  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47  47
  47  47  47  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48
  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48
  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48
  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48  48
  48  48  48  48  49  49  49  49  49  49  49  49  49  49  49  49  49  49
  49  49  49  49  49  49  49  49  49  49  49  49  49  49  49  49  49  49
  49  49  49  49  49  49  49  49  49  49  49  49  49  49  49  49  49  49
  49  49  49  49  49  49  49  49  49  49  49  49  49  49  49  49  49  50
  50  50  50  50  50  50  50  50  50  50  50  50  50  50  50  50  50  50
  50  50  50  50  50  50  50  50  50  50  50  50  50  50  50  50  50  50
  50  50  50  50  50  50  50  50  50  50  50  50  50  50  50  50  50  50
  50  50  50  50  51  51  51  51  51  51  51  51  51  51  51  51  51  51
  51  51  51  51  51  51  51  51  51  51  51  51  51  51  51  51  51  51
  51  51  51  51  51  51  51  51  51  51  51  52  52  52  52  52  52  52
  52  52  52  52  52  52  52  52  52  52  52  52  52  52  53  53  53  53
  53  53  53  53  54  54  54  54  54  54  55  55  55  55  55  58  58  58
  58  59  59  59  59  59  59  59  59  60  60  60  60  60  60  73  73  74
  74  74  74  74  74  75  75  75  75  75  75  75  75  75  76  76  76  76
  76  76  76  76  76  76  76  76  76  76  76  76  76  76  76  76  76  76
  76  76  76  76  77  77  77  77  77  77  77  77  77  77  77  77  77  77
  77  77  77  77  77  77  77  77  77  77  77  78  78  78  78  78  78  78
  78  78  78  78  78  78  78  78  78  78  78  78  78  78  78  78  79  79
  79  79  79  79  79  79  79  79  79  79  79  79  79  79  79  79  80  80
  80  80  80  80  80  80  80  80  80  80  80  80  81  81  81  81  81  81
  81  81  81  81  81  82  82  82  82  82  82  82  82  82  82  82  82  83
  83  83  83  83  84  84  84  84  84  85  85  85 100 100 100 101 101 101
 101 101 101 101 101 101 101 101 101 101 102 102 102 102 102 102 102 102
 102 102 102 102 102 102 102 102 102 102 103 103 103 103 103 103 103 103
 103 103 103 103 103 103 103 103 103 103 103 103 104 104 104 104 104 104
 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 105 105 105
 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105 105
 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
 106 106 106 106 107 107 107 107 107 107 107 107 107 107 107 107 107 107
 107 107 107 107 107 107 107 108 108 108 108 108 108 108 108 108 108 108
 108 108 108 109 109 109 109 109 109 109 109 109 109 109 110 110 110 110
 110 110 110 110 110 110 111 111 111 111 111 111 111 111 111 111 112 112
 112 112 112 112 112 112 112 113 113 113 113 113 113 113 113 113 113 114
 114 114 114 114 114 114 114 114 114 115 115 115 115 115 115 115 115 115
 115 116 116 116 116 116 116 116 116 116 116 117 117 117 117 117 117 117
 117 117 118 118 118 118 118 118 118 119 119 119 119 295 296 296 296 296
 297 297 297 297 297 509 509 510 510 510 510 510 510 510 511 511 511 511
 511 511 511 511 511 511 512 512 512 512 512 512 512 512 512 512 513 513
 513 513 513 513 513 513 513 513 513 514 514 514 514 514 514 514 514 514
 514 514 514 514 515 515 515 515 515 515 515 515 515 515 515 515 515 515
 515 515 515 516 516 516 516 516 516 516 516 516 516 516 516 516 516 516
 516 516 516 516 517 517 517 517 517 517 517 517 517 517 517 517 517 517
 517 517 517 517 518 518 518 518 518 518 518 518 518 518 518 518 518 518
 518 518 518 519 519 519 519 519 519 519 519 519 519 519 519 519 519 519
 519 519 519 520 520 520 520 520 520 520 520 520 520 520 520 520 520 520
 520 520 520 521 521 521 521 521 521 521 521 521 521 521 521 521 521 521
 521 521 521 521 522 522 522 522 522 522 522 522 522 522 522 522 522 522
 522 522 522 522 522 522 523 523 523 523 523 523 523 523 523 523 523 523
 523 523 523 523 523 523 523 523 523 523 524 524 524 524 524 524 524 524
 524 524 524 524 524 524 524 524 524 524 524 524 524 524 524 525 525 525
 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525
 525 525 525 526 526 526 526 526 526 526 526 526 526 526 526 526 526 526
 526 526 526 526 526 526 526 526 526 527 527 527 527 527 527 527 527 527
 527 527 527 527 527 527 527 527 527 527 527 527 527 527 527 528 528 528
 528 528 528 528 528 528 528 528 528 528 528 528 528 528 528 528 528 528
 528 528 528 529 529 529 529 529 529 529 529 529 529 529 529 529 529 529
 529 529 529 529 529 529 529 529 529 530 530 530 530 530 530 530 530 530
 530 530 530 530 530 530 530 530 530 530 530 530 530 530 531 531 531 531
 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531
 531 531 532 532 532 532 532 532 532 532 532 532 532 532 532 532 532 532
 532 532 532 532 532 532 532 533 533 533 533 533 533 533 533 533 533 533
 533 533 533 533 533 533 533 533 533 533 533 533 534 534 534 534 534 534
 534 534 534 534 534 534 534 534 534 534 534 534 534 534 534 534 535 535
 535 535 535 535 535 535 535 535 535 535 535 535 535 535 535 535 535 535
 535 535 536 536 536 536 536 536 536 536 536 536 536 536 536 536 536 536
 536 536 536 536 536 536 537 537 537 537 537 537 537 537 537 537 537 537
 537 537 537 537 537 537 537 537 537 538 538 538 538 538 538 538 538 538
 538 538 538 538 538 538 538 538 538 538 539 539 539 539 539 539 539 539
 539 539 539 539 539 539 539 539 539 539 540 540 540 540 540 540 540 540
 540 540 540 540 540 540 540 540 540 541 541 541 541 541 541 541 541 541
 541 541 541 541 541 541 554 554 554 555 555 555 555 555 555 555 555 555
 555 555 555 555 555 555 555 555 555 555 556 556 556 556 556 556 556 556
 556 556 556 556 556 556 556 556 556 556 556 556 556 556 557 557 557 557
 557 557 557 557 557 557 557 557 557 557 557 557 557 557 557 557 557 557
 557 558 558 558 558 558 558 558 558 558 558 558 558 558 558 558 558 558
 558 558 558 558 559 559 559 559 559 559 559 559 559 559 559 559 559 559
 559 559 559 559 559 559 559 559 560 560 560 560 560 560 560 560 560 560
 560 560 560 560 560 560 560 560 560 560 560 560 560 561 561 561 561 561
 561 561 561 561 561 561 561 561 561 561 561 561 561 561 561 561 561 561
 561 561 561 562 562 562 562 562 562 562 562 562 562 562 562 562 562 562
 562 562 562 562 562 562 562 562 562 562 562 562 563 563 563 563 563 563
 563 563 563 563 563 563 563 563 563 563 563 563 563 563 563 563 563 563
 563 563 563 563 563 564 564 564 564 564 564 564 564 564 564 564 564 564
 564 564 564 564 564 564 564 564 564 564 564 564 564 564 564 564 564 564
 564 564 564 564 564 564 565 565 565 565 565 565 565 565 565 565 565 565
 565 565 565 565 565 565 565 565 565 565 565 565 565 565 565 565 565 565
 565 565 565 565 565 565 565 565 565 565 565 565 565 565 565 566 566 566
 566 566 566 566 566 566 566 566 566 566 566 566 566 566 566 566 566 566
 566 566 566 566 566 566 566 566 566 566 566 566 566 566 566 566 566 566
 566 566 566 566 566 566 566 566 567 567 567 567 567 567 567 567 567 567
 567 567 567 567 567 567 567 567 567 567 567 567 567 567 567 567 567 567
 567 567 567 567 567 567 567 567 567 567 567 567 567 567 567 567 567 567
 567 567 568 568 568 568 568 568 568 568 568 568 568 568 568 568 568 568
 568 568 568 568 568 568 568 568 568 568 568 568 568 568 568 568 568 568
 568 568 568 568 568 568 568 568 568 568 568 568 568 568 568 568 568 568
 568 568 568 569 569 569 569 569 569 569 569 569 569 569 569 569 569 569
 569 569 569 569 569 569 569 569 569 569 569 569 569 569 569 569 569 569
 569 569 569 569 569 569 569 569 569 569 569 569 569 569 569 569 569 569
 569 569 569 569 569 569 569 570 570 570 570 570 570 570 570 570 570 570
 570 570 570 570 570 570 570 570 570 570 570 570 570 570 570 570 570 570
 570 570 570 570 570 570 570 570 570 570 570 570 570 570 570 570 570 570
 570 570 570 570 570 570 570 570 570 570 570 570 571 571 571 571 571 571
 571 571 571 571 571 571 571 571 571 571 571 571 571 571 571 571 571 571
 571 571 571 571 571 571 571 571 571 571 571 571 571 571 571 571 571 571
 571 571 571 571 571 571 571 571 571 571 571 571 571 571 571 571 571 572
 572 572 572 572 572 572 572 572 572 572 572 572 572 572 572 572 572 572
 572 572 572 572 572 572 572 572 572 572 572 572 572 572 572 572 572 572
 572 572 572 572 572 572 572 572 572 572 572 572 572 572 572 572 572 572
 572 572 572 572 573 573 573 573 573 573 573 573 573 573 573 573 573 573
 573 573 573 573 573 573 573 573 573 573 573 573 573 573 573 573 573 573
 573 573 573 573 573 573 573 573 573 573 573 573 573 573 573 573 573 573
 573 573 573 573 573 573 574 574 574 574 574 574 574 574 574 574 574 574
 574 574 574 574 574 574 574 574 574 574 574 574 574 574 574 574 574 574
 574 574 574 574 574 574 575 575 575 575 575 575 575 575 575 575 575 575
 575 575 575 575 575 575 575 575 575 575 575 575 575 575 575 575 575 575
 575 575 575 575 576 576 576 576 576 576 576 576 576 576 576 576 576 576
 576 576 576 576 576 576 576 576 576 576 576 576 576 576 576 576 576 576
 577 577 577 577 577 577 577 577 577 577 577 577 577 577 577 577 577 577
 577 577 577 577 577 577 577 577 577 577 577 577 578 578 578 578 578 578
 578 578 578 578 578 578 578 578 578 578 578 578 578 578 578 578 578 578
 578 578 578 578 579 579 579 579 579 579 579 579 579 579 579 579 579 579
 579 579 579 579 579 579 579 579 579 580 580 580 580 580 580 580 580 580
 580 580 580 580 580 580 580 580 580 581 581 581 581 581 581 581 581 581
 581 581 582 582 582 582 587 587 587 587 587 587 587 587 587 588 588 588
 588 588 588 588 588 588 588 588 588 588 588 588 588 588 588 589 589 589
 589 589 589 589 589 589 589 589 589 589 589 589 589 589 589 589 589 589
 590 590 590 590 590 590 590 590 590 590 590 590 590 590 590 590 590 590
 590 590 590 590 590 590 591 591 591 591 591 591 591 591 591 591 591 591
 591 591 591 591 591 591 591 591 591 591 591 591 591 591 591 591 591 591
 591 591 591 591 591 591 592 592 592 592 592 592 592 592 592 592 592 592
 592 592 592 592 592 592 592 592 592 592 592 592 592 592 592 592 592 592
 592 592 592 592 592 592 592 592 592 592 592 593 593 593 593 593 593 593
 593 593 593 593 593 593 593 593 593 593 593 593 593 593 593 593 593 593
 593 593 593 593 593 593 593 593 593 593 593 593 593 593 593 593 593 594
 594 594 594 594 594 594 594 594 594 594 594 594 594 594 594 594 594 594
 594 594 594 594 594 594 594 594 594 594 594 594 594 594 594 594 594 594
 594 594 594 594 594 594 594 595 595 595 595 595 595 595 595 595 595 595
 595 595 595 595 595 595 595 595 595 595 595 595 595 595 595 595 595 595
 595 595 595 595 595 595 595 595 595 595 595 595 595 595 595 595 595 595
 595 595 595 595 596 596 596 596 596 596 596 596 596 596 596 596 596 596
 596 596 596 596 596 596 596 596 596 596 596 596 596 596 596 596 596 596
 596 596 596 596 596 596 596 596 596 596 596 596 596 596 596 596 596 596
 597 597 597 597 597 597 597 597 597 597 597 597 597 597 597 597 597 597
 597 597 597 597 597 597 597 597 597 597 597 597 597 597 597 597 597 597
 597 597 597 597 597 598 598 598 598 598 598 598 598 598 598 598 598 598
 598 598 598 598 598 598 598 598 598 598 598 598 598 598 598 598 598 598
 598 598 598 598 598 598 598 598 598 598 598 599 599 599 599 599 599 599
 599 599 599 599 599 599 599 599 599 599 599 599 599 599 599 599 599 599
 599 599 599 599 599 599 599 599 599 599 599 599 599 599 599 599 599 599
 599 599 599 599 599 600 600 600 600 600 600 600 600 600 600 600 600 600
 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600
 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600
 600 600 600 600 600 600 600 600 600 600 600 600 600 601 601 601 601 601
 601 601 601 601 601 601 601 601 601 601 601 601 601 601 601 601 601 601
 601 601 601 601 601 601 601 601 601 601 601 601 601 601 601 601 601 601
 601 601 601 601 601 601 601 601 601 601 601 601 601 601 601 601 601 601
 601 601 601 601 601 601 601 601 601 601 601 602 602 602 602 602 602 602
 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602
 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602
 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602
 603 603 603 603 603 603 603 603 603 603 603 603 603 603 603 603 603 603
 603 603 603 603 603 603 603 603 603 603 603 603 603 603 603 603 603 603
 603 603 603 603 603 603 603 603 603 603 603 603 603 603 603 603 603 603
 603 603 604 604 604 604 604 604 604 604 604 604 604 604 604 604 604 604
 604 604 604 604 604 604 604 604 604 604 604 604 604 604 604 604 604 604
 604 604 604 604 604 604 604 604 604 604 604 604 604 604 604 604 604 604
 604 604 604 604 605 605 605 605 605 605 605 605 605 605 605 605 605 605
 605 605 605 605 605 605 605 605 605 605 605 605 605 605 605 605 605 605
 605 605 605 605 605 605 605 605 605 605 605 605 605 605 605 605 605 605
 605 605 605 605 605 606 606 606 606 606 606 606 606 606 606 606 606 606
 606 606 606 606 606 606 606 606 606 606 606 606 606 606 606 606 606 606
 606 606 606 606 606 606 606 606 606 606 606 606 606 606 606 606 607 607
 607 607 607 607 607 607 607 607 607 607 607 607 607 607 607 607 607 607
 607 607 607 607 607 607 607 607 607 607 607 607 607 607 607 607 607 607
 607 607 607 607 607 608 608 608 608 608 608 608 608 608 608 608 608 608
 608 608 608 608 608 608 608 608 608 608 608 608 608 608 608 608 608 608
 608 608 608 608 608 608 608 608 608 608 608 608 608 609 609 609 609 609
 609 609 609 609 609 609 609 609 609 609 609 609 609 609 609 609 609 609
 609 609 609 609 609 609 609 609 609 609 609 609 609 609 609 609 609 609
 609 609 609 609 609 609 609 609 609 609 609 609 609 609 609 609 609 609
 609 609 609 609 609 609 609 609 609 609 610 610 610 610 610 610 610 610
 610 610 610 610 610 610 610 610 610 610 610 610 610 610 610 610 610 610
 610 610 610 610 610 610 610 610 610 610 610 610 610 610 610 610 610 610
 610 610 610 610 610 610 610 610 610 610 610 610 610 610 610 610 610 610
 610 610 610 610 610 610 610 610 610 610 610 611 611 611 611 611 611 611
 611 611 611 611 611 611 611 611 611 611 611 611 611 611 611 611 611 611
 611 611 611 611 611 611 611 611 611 611 611 611 611 611 611 611 611 611
 611 611 611 611 611 611 611 611 611 611 611 611 611 611 611 611 611 611
 611 611 611 611 611 611 611 611 611 611 612 612 612 612 612 612 612 612
 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612
 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612
 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612
 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612 612
 612 612 612 612 612 612 612 612 612 612 612 612 612 612 613 613 613 613
 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613
 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613
 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613
 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613 613
 613 613 613 614 614 614 614 614 614 614 614 614 614 614 614 614 614 614
 614 614 614 614 614 614 614 614 614 614 614 614 614 614 614 614 614 614
 614 614 614 614 614 614 614 614 614 614 614 614 614 614 614 614 614 614
 614 614 614 614 614 614 614 614 614 614 614 614 615 615 615 615 615 615
 615 615 615 615 615 615 615 615 615 615 615 615 615 615 615 615 615 615
 615 615 615 615 615 615 615 615 615 615 615 615 615 615 615 615 615 615
 615 615 615 615 615 615 615 616 616 616 616 616 616 616 616 616 616 616
 616 616 616 616 616 616 616 616 616 616 616 616 616 616 616 616 616 616
 616 616 616 616 616 616 616 616 616 616 616 616 616 616 616 616 616 617
 617 617 617 617 617 617 617 617 617 617 617 617 617 617 617 617 617 617
 617 617 617 617 617 617 617 617 617 617 617 617 617 617 617 617 617 617
 617 617 618 618 618 618 618 618 618 618 618 618 618 618 618 618 618 618
 618 618 618 618 618 618 618 618 618 618 618 618 618 618 618 618 618 618
 619 619 619 619 619 619 619 619 619 619 619 619 619 619 619 619 619 619
 619 619 619 619 619 619 619 619 619 619 620 620 620 620 620 620 620 620
 620 620 620 620 620 620 620 620 620 620 620 620 620 620 620 621 621 621];
 
y = [472 473 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 470
 471 472 473 474 475 476 477 577 578 579 580 581 582 583 584 585 586 587
 588 589 590 591 470 471 472 473 474 475 476 477 478 479 480 579 580 470
 471 472 473 474 475 476 477 478 479 480 481 470 471 472 473 474 475 476
 477 478 479 480 481 482 403 404 405 406 407 408 409 410 411 412 413 431
 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 470 471 472
 473 474 475 476 477 478 479 480 481 482 377 378 379 380 381 382 383 400
 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418
 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436
 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454
 455 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 375 376
 377 378 379 380 381 382 383 384 385 386 390 391 392 393 394 395 396 397
 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415
 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433
 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451
 452 453 454 455 456 469 470 471 472 473 474 475 476 477 478 479 480 481
 482 483 484 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387
 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405
 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423
 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441
 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 467
 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485
 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387
 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405
 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423
 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441
 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459
 460 461 462 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479
 480 481 482 483 484 485 486 368 369 370 371 372 373 374 375 376 377 378
 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396
 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414
 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432
 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450
 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468
 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486
 520 521 522 523 524 525 526 527 528 361 362 363 364 365 366 367 368 369
 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387
 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405
 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423
 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441
 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459
 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477
 478 479 480 481 482 483 484 485 486 487 520 521 522 523 524 525 526 527
 528 529 530 342 343 344 357 358 359 360 361 362 363 364 365 366 367 368
 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386
 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404
 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422
 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440
 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458
 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476
 477 478 479 480 481 482 483 484 485 486 487 488 520 521 522 523 524 525
 526 527 528 529 530 531 532 337 338 339 340 341 342 343 344 345 346 347
 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365
 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383
 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401
 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419
 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437
 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455
 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473
 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 520 521
 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 334 335
 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353
 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371
 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389
 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407
 408 409 410 411 412 413 414 421 422 423 424 425 426 427 428 429 430 431
 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449
 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467
 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485
 486 487 488 489 520 521 522 523 524 525 526 527 528 529 530 531 532 533
 534 535 536 537 538 539 540 541 542 543 333 334 335 336 337 338 339 340
 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358
 359 360 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383
 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401
 402 403 404 405 406 407 408 409 410 411 424 425 426 427 428 429 430 431
 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449
 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467
 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485
 486 487 488 489 520 521 522 523 524 525 526 527 528 529 530 531 532 533
 534 535 536 537 538 539 540 541 542 543 544 295 296 332 333 334 335 336
 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354
 355 356 357 358 359 360 369 370 371 372 373 374 375 376 377 378 379 380
 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398
 399 400 401 402 403 404 405 406 427 428 429 430 431 432 433 434 435 436
 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454
 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472
 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 520
 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538
 539 540 541 542 543 544 545 618 619 620 621 622 623 624 294 295 296 297
 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341
 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359
 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388
 389 390 391 392 393 394 395 396 397 398 399 400 401 402 428 429 430 431
 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449
 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467
 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485
 486 487 488 489 521 522 523 524 525 526 527 528 529 530 531 532 533 534
 535 536 537 538 539 540 541 542 543 544 545 546 617 618 619 620 621 622
 623 624 625 626 627 628 294 295 296 297 298 299 317 318 319 320 321 322
 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340
 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358
 359 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398
 399 400 401 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443
 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461
 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479
 480 481 482 483 484 485 486 487 503 504 521 522 523 524 525 526 527 528
 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546
 547 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630
 293 294 295 296 297 298 299 300 301 315 316 317 318 319 320 321 322 323
 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341
 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359
 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 430
 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448
 449 450 451 452 453 454 455 456 457 458 459 460 461 462 476 477 478 479
 480 481 482 483 484 503 504 522 523 524 525 526 527 528 529 530 531 532
 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 612
 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630
 631 632 293 294 295 296 297 298 299 300 301 302 303 313 314 315 316 317
 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335
 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353
 354 355 356 357 358 387 388 389 390 391 392 393 394 395 396 397 398 399
 400 401 432 433 434 435 436 437 438 439 440 441 442 443 453 454 455 456
 457 458 459 460 503 504 530 531 532 533 534 535 536 537 538 539 540 541
 542 543 544 545 546 547 548 549 550 551 596 597 598 599 600 608 609 610
 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628
 629 630 631 632 633 292 293 294 295 296 297 298 299 300 301 302 303 304
 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322
 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340
 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358
 389 390 391 392 393 394 395 396 397 398 399 400 401 402 433 434 435 436
 437 438 439 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549
 550 551 552 553 594 595 596 597 598 599 600 601 602 603 604 605 606 607
 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625
 626 627 628 629 630 631 632 633 634 635 270 271 272 273 274 275 276 277
 278 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307
 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325
 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343
 344 345 346 347 348 349 350 351 352 353 354 355 356 357 390 391 392 393
 394 395 396 397 398 399 400 401 402 434 435 436 437 438 537 538 539 540
 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558
 566 567 568 569 570 571 572 573 574 575 576 577 578 579 591 592 593 594
 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612
 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630
 631 632 633 634 635 636 637 638 639 640 641 642 643 269 270 271 272 273
 274 275 276 277 278 279 280 281 282 283 284 289 290 291 292 293 294 295
 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313
 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331
 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349
 350 351 352 353 354 355 391 392 393 394 395 396 397 398 399 400 401 402
 436 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555
 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573
 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591
 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609
 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627
 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645
 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 269 270
 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288
 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306
 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324
 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342
 343 344 345 346 347 348 349 350 351 352 392 393 394 395 396 397 398 399
 400 401 402 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555
 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573
 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591
 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609
 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627
 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645
 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663
 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286
 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304
 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322
 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340
 341 342 343 344 345 346 347 348 349 393 394 395 396 397 398 399 400 401
 402 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560
 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578
 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596
 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614
 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632
 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650
 651 652 653 654 655 656 657 658 659 660 661 662 663 269 270 271 272 273
 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291
 292 293 294 295 296 297 298 299 300 301 302 310 311 312 313 314 315 316
 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334
 335 336 337 338 339 340 341 342 343 344 345 346 347 395 396 397 398 399
 400 401 402 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560
 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578
 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596
 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614
 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632
 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650
 651 652 653 654 655 656 657 658 659 660 661 662 663 664 270 271 272 273
 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291
 292 293 294 295 296 297 298 299 300 311 312 313 314 315 316 317 318 319
 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337
 338 339 340 341 342 343 344 345 346 399 400 548 549 550 551 552 553 554
 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572
 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590
 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608
 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626
 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644
 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662
 663 664 665 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284
 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 312 313 314
 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332
 333 334 335 336 337 338 339 340 341 342 343 550 551 552 553 554 555 556
 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574
 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592
 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610
 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628
 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646
 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664
 665 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285
 286 287 288 289 290 291 292 293 294 295 296 297 298 314 315 316 317 318
 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336
 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569
 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587
 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605
 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623
 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641
 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659
 660 661 662 663 664 665 269 270 271 272 273 274 275 276 277 278 279 280
 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298
 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 554 555
 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573
 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591
 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609
 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627
 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645
 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663
 664 665 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283
 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 316 317 318
 319 320 321 322 323 324 325 326 327 555 556 557 558 559 560 561 562 563
 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581
 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599
 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617
 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635
 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653
 654 655 656 657 658 659 660 661 662 663 664 665 267 268 269 270 271 272
 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290
 291 292 293 294 295 296 297 556 557 558 559 560 561 562 563 564 565 566
 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584
 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602
 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620
 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638
 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656
 657 658 659 660 661 662 663 664 665 249 250 251 252 253 254 255 265 266
 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284
 285 286 287 288 289 290 291 292 293 294 295 296 297 559 560 561 562 563
 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581
 582 583 584 585 595 596 597 598 599 600 601 602 603 604 605 606 607 608
 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626
 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644
 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662
 663 664 665 666 246 247 248 249 250 251 252 253 254 255 256 257 258 259
 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277
 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295
 296 297 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577
 578 579 580 581 582 597 598 599 600 601 602 603 604 605 606 607 608 609
 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627
 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645
 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663
 664 665 666 667 668 669 670 671 672 245 246 247 248 249 250 251 252 253
 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271
 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289
 290 291 292 293 294 295 296 564 565 566 567 568 569 570 571 572 573 574
 575 576 577 578 579 580 599 600 601 602 603 604 605 606 607 608 609 610
 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628
 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646
 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664
 665 666 667 668 669 670 671 672 673 674 675 242 243 244 245 246 247 248
 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266
 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284
 285 286 287 288 289 290 291 292 293 294 295 296 565 566 567 568 569 570
 571 572 573 574 575 576 577 578 579 599 600 601 602 603 604 605 606 607
 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625
 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643
 644 645 646 647 648 649 650 651 652 653 654 655 656 657 663 664 665 666
 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684
 685 686 687 688 689 690 691 692 240 241 242 243 244 245 246 247 248 249
 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267
 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285
 286 287 288 289 290 291 292 293 294 295 567 568 569 570 571 572 573 574
 575 576 577 578 600 601 602 603 604 605 606 607 608 609 610 611 612 613
 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638
 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 663
 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681
 682 683 684 685 686 687 688 689 690 691 692 693 694 695 238 239 240 241
 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259
 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277
 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 568
 569 570 571 572 573 574 575 576 577 602 603 604 605 606 622 623 624 625
 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643
 644 645 646 647 648 649 650 651 652 663 664 665 666 667 668 669 670 671
 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689
 690 691 692 693 694 695 696 237 238 239 240 241 242 243 244 245 246 247
 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265
 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283
 284 285 286 287 288 289 290 291 292 568 569 570 571 572 573 574 575 576
 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640
 641 642 643 644 645 646 647 648 663 664 665 666 667 668 669 670 671 672
 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690
 691 692 693 694 695 696 697 236 237 238 239 240 241 242 243 244 245 246
 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282
 283 284 285 286 287 288 289 290 569 570 571 572 573 574 575 576 624 625
 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643
 644 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680
 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698
 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252
 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270
 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288
 289 570 571 572 573 574 575 626 627 628 629 630 631 632 633 634 635 636
 637 638 639 640 664 665 666 667 668 669 670 671 672 673 674 675 676 677
 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695
 696 697 698 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249
 250 251 252 253 254 255 256 257 258 259 268 269 270 271 272 273 274 275
 276 277 278 279 280 281 282 283 284 285 286 287 571 572 573 574 630 631
 632 633 634 635 636 665 666 667 668 669 670 671 672 673 674 675 676 677
 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695
 696 697 698 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248
 249 250 251 252 253 254 255 256 257 270 271 272 273 274 275 276 277 278
 279 280 281 282 283 284 285 666 667 668 669 670 671 672 673 674 675 676
 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694
 695 696 697 698 234 235 236 237 238 239 240 241 242 243 244 245 246 247
 248 249 250 251 252 253 254 255 272 273 274 275 276 277 278 279 280 281
 282 283 284 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681
 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 234
 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252
 253 273 274 275 276 277 278 279 280 281 282 669 670 671 672 673 674 675
 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693
 694 695 696 697 234 235 236 237 238 239 240 241 242 243 244 245 246 247
 248 249 250 275 276 277 278 279 280 281 676 677 678 679 680 681 682 683
 684 685 686 687 688 689 690 691 692 693 694 233 234 235 236 237 238 239
 240 241 242 278 680 681 682 683 684 685 686 687 688 689 233 234 235 236
 237 238 239 240 233 234 235 236 237 238 233 234 235 236 237 458 459 460
 461 457 458 459 460 461 462 463 464 459 460 461 462 463 464 624 625 622
 623 624 625 626 627 605 620 621 622 623 624 625 626 627 601 602 603 604
 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622
 623 624 625 626 601 602 603 604 605 606 607 608 609 610 611 612 613 614
 615 616 617 618 619 620 621 622 623 624 625 602 603 604 605 606 607 608
 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 604 605
 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 605 606
 607 608 609 610 611 612 613 614 615 616 617 618 606 607 608 609 610 611
 612 613 614 615 616 181 182 183 184 608 609 610 611 612 613 614 615 181
 182 183 184 185 181 182 183 184 185 182 183 184 746 747 748 743 744 745
 746 747 748 749 750 751 752 753 754 755 739 740 741 742 743 744 745 746
 747 748 749 750 751 752 753 754 755 756 738 739 740 741 742 743 744 745
 746 747 748 749 750 751 752 753 754 755 756 757 738 739 740 741 742 743
 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 738 739 740
 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758
 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755
 756 757 758 759 739 740 741 742 743 744 745 746 747 748 749 750 751 752
 753 754 755 756 757 758 759 747 748 749 750 751 752 753 754 755 756 757
 758 759 760 751 752 753 754 755 756 757 758 759 760 761 752 753 754 755
 756 757 758 759 760 761 753 754 755 756 757 758 759 760 761 762 754 755
 756 757 758 759 760 761 762 754 755 756 757 758 759 760 761 762 763 754
 755 756 757 758 759 760 761 762 763 754 755 756 757 758 759 760 761 762
 763 754 755 756 757 758 759 760 761 762 763 755 756 757 758 759 760 761
 762 763 756 757 758 759 760 761 762 757 758 759 760 694 692 693 694 695
 691 692 693 694 695 752 753 750 751 752 753 754 755 756 747 748 749 750
 751 752 753 754 755 756 746 747 748 749 750 751 752 753 754 755 744 745
 746 747 748 749 750 751 752 753 754 741 742 743 744 745 746 747 748 749
 750 751 752 753 736 737 738 739 740 741 742 743 744 745 746 747 748 749
 750 751 752 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747
 748 749 750 751 732 733 734 735 736 737 738 739 740 741 742 743 744 745
 746 747 748 749 731 732 733 734 735 736 737 738 739 740 741 742 743 744
 745 746 747 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743
 744 745 746 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742
 743 744 745 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741
 742 743 744 745 726 727 728 729 730 731 732 733 734 735 736 737 738 739
 740 741 742 743 744 745 724 725 726 727 728 729 730 731 732 733 734 735
 736 737 738 739 740 741 742 743 744 745 723 724 725 726 727 728 729 730
 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 722 723 724
 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742
 743 744 745 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735
 736 737 738 739 740 741 742 743 744 720 721 722 723 724 725 726 727 728
 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 719 720 721
 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739
 740 741 742 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732
 733 734 735 736 737 738 739 740 741 717 718 719 720 721 722 723 724 725
 726 727 728 729 730 731 732 733 734 735 736 737 738 739 716 717 718 719
 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737
 738 739 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731
 732 733 734 735 736 737 738 715 716 717 718 719 720 721 722 723 724 725
 726 727 728 729 730 731 732 733 734 735 736 737 715 716 717 718 719 720
 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 714 715
 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733
 734 735 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729
 730 731 732 733 734 735 714 715 716 717 718 719 720 721 722 723 724 725
 726 727 728 729 730 731 732 733 734 714 715 716 717 718 719 720 721 722
 723 724 725 726 727 728 729 730 731 732 714 715 716 717 718 719 720 721
 722 723 724 725 726 727 728 729 730 731 714 715 716 717 718 719 720 721
 722 723 724 725 726 727 728 729 730 715 716 717 718 719 720 721 722 723
 724 725 726 727 728 729 698 699 700 690 691 692 693 694 695 696 697 698
 699 700 701 702 703 704 705 706 707 708 687 688 689 690 691 692 693 694
 695 696 697 698 699 700 701 702 703 704 705 706 707 708 685 686 687 688
 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706
 707 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700
 701 702 703 704 682 683 684 685 686 687 688 689 690 691 692 693 694 695
 696 697 698 699 700 701 702 703 680 681 682 683 684 685 686 687 688 689
 690 691 692 693 694 695 696 697 698 699 700 701 702 677 678 679 680 681
 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699
 700 701 702 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689
 690 691 692 693 694 695 696 697 698 699 700 701 672 673 674 675 676 677
 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695
 696 697 698 699 700 664 665 666 667 668 669 670 671 672 673 674 675 676
 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694
 695 696 697 698 699 700 655 656 657 658 659 660 661 662 663 664 665 666
 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684
 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 652 653 654
 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672
 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690
 691 692 693 694 695 696 697 698 650 651 652 653 654 655 656 657 658 659
 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677
 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695
 696 697 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656
 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674
 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692
 693 694 695 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650
 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668
 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686
 687 688 689 690 691 692 693 633 634 635 636 637 638 639 640 641 642 643
 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661
 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679
 680 681 682 683 684 685 686 687 688 689 690 691 631 632 633 634 635 636
 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654
 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672
 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 629
 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647
 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665
 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683
 684 685 686 687 626 627 628 629 630 631 632 633 634 635 636 637 638 639
 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657
 658 659 660 661 662 663 664 665 670 671 672 673 674 675 676 677 678 679
 680 681 682 683 684 685 623 624 625 626 627 628 629 630 631 632 633 634
 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652
 653 654 655 656 657 658 622 623 624 625 626 627 628 629 630 631 632 633
 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651
 652 653 654 655 621 622 623 624 625 626 627 628 629 630 631 632 633 634
 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652
 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637
 638 639 640 641 642 643 644 645 646 647 648 649 619 620 621 622 623 624
 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642
 643 644 645 646 619 620 621 622 623 624 625 626 627 628 629 630 631 632
 633 634 635 636 637 638 639 640 641 619 620 621 622 623 624 625 626 627
 628 629 630 631 632 633 634 635 636 620 621 622 623 624 625 626 627 628
 629 630 622 623 624 625 575 576 577 578 579 580 581 582 583 571 572 573
 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 569 570 571
 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589
 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583
 584 585 586 587 588 589 267 268 269 270 271 559 560 561 562 563 564 565
 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583
 584 585 586 587 588 589 267 268 269 270 271 272 273 274 555 556 557 558
 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576
 577 578 579 580 581 582 583 584 585 586 587 269 270 271 272 273 274 275
 276 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567
 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 271
 272 273 274 275 276 277 278 547 548 549 550 551 552 553 554 555 556 557
 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575
 576 577 578 579 580 581 582 272 273 274 275 276 277 278 279 280 539 540
 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558
 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576
 577 578 579 580 276 277 278 279 280 281 282 536 537 538 539 540 541 542
 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560
 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578
 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552
 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570
 571 572 573 574 575 532 533 534 535 536 537 538 539 540 541 542 543 544
 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562
 563 564 565 566 567 568 569 570 571 572 573 289 290 527 528 529 530 531
 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549
 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567
 568 569 570 571 572 289 290 291 292 514 515 516 517 518 519 520 521 522
 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540
 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558
 559 560 561 562 563 564 565 566 567 568 569 570 571 290 291 292 293 294
 295 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522
 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540
 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558
 559 560 561 562 563 564 565 566 567 568 569 295 296 297 298 299 504 505
 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523
 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541
 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559
 295 296 297 298 299 300 301 302 500 501 502 503 504 505 506 507 508 509
 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527
 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545
 546 547 297 298 299 300 301 302 303 304 305 495 496 497 498 499 500 501
 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519
 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537
 538 539 540 541 301 302 303 304 305 489 490 491 492 493 494 495 496 497
 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515
 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533
 534 535 536 537 538 486 487 488 489 490 491 492 493 494 495 496 497 498
 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516
 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 484 485
 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503
 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521
 522 523 524 525 526 479 480 481 482 483 484 485 486 487 488 489 490 491
 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509
 510 511 512 513 514 515 516 517 518 519 520 521 522 327 328 329 330 331
 332 333 334 335 336 337 338 339 340 341 342 465 466 467 468 469 470 471
 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489
 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507
 508 509 510 511 512 513 514 515 516 517 328 329 330 331 332 333 334 335
 336 337 338 339 340 341 342 343 344 345 346 460 461 462 463 464 465 466
 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484
 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502
 503 504 505 506 507 508 509 510 511 512 513 329 330 331 332 333 334 335
 336 337 338 339 340 341 342 343 344 345 346 458 459 460 461 462 463 464
 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482
 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500
 501 502 503 504 505 506 507 508 509 510 331 332 333 334 335 336 337 338
 339 340 341 342 343 344 345 358 359 360 361 362 363 364 365 366 367 368
 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386
 387 388 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472
 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490
 491 492 493 494 495 496 497 498 499 500 501 502 503 504 334 335 336 337
 338 339 340 341 342 343 359 360 361 362 363 364 365 366 367 368 369 370
 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388
 389 390 391 392 393 394 395 396 397 398 399 400 457 458 459 460 461 462
 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480
 481 482 483 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375
 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393
 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 459 460
 461 462 463 464 465 466 467 468 469 470 471 472 367 368 369 370 371 372
 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390
 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408
 409 410 411 412 413 414 415 372 373 374 375 376 377 378 381 382 383 384
 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402
 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 386
 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404
 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422
 423 424 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406
 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424
 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414
 415 416 417 418 419 420 421 422 423 424 400 401 402 403 404 405 406 407
 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 402 403 404];
 
x = reshape(x.',1,[]);
y = reshape(y.',1,[]);

F = inv([x.^2*y.^2' x*y.^3'    x.^2*y'   x*y.^2'   x*y'
 x*y.^3'    sum(y.^4)  x*y.^2'   sum(y.^3) sum(y.^2)
 x.^2*y'    x*y.^2'    sum(x.^2) x*y'      sum(x)
 x*y.^2'    sum(y.^3)  x*y'      sum(y.^2) sum(y)
 x*y'       sum(y.^2)  sum(x)    sum(y)    length(x)]) * ...
[-x.^3*y' -x.^2*y.^2' -sum(x.^3) -x.^2*y' -sum(x.^2)]';

A=F(1);B=F(2);C=F(3);D=F(4);E=F(5);

X0=(A*D-2*B*C)/(4*B-A^2);
Y0=(A*C-2*D)/(4*B-A^2);
theta=atan2(A,1-B)/2;
a = sqrt(...
    (X0*cos(theta)+Y0*sin(theta))^2 ...
    -E*(cos(theta))^2 ...
    -((X0*sin(theta)-Y0*cos(theta))^2-E*(sin(theta))^2) ...
        *((sin(theta)^2-B*(cos(theta))^2)/(cos(theta)^2-B*(sin(theta))^2)));   
b = sqrt(...
    (X0*sin(theta)-Y0*cos(theta))^2 ...
    -E*(sin(theta))^2 ...
    -((X0*cos(theta)+Y0*sin(theta))^2-E*(cos(theta))^2) ...
        *((cos(theta)^2-B*(sin(theta))^2)/(sin(theta)^2-B*(cos(theta))^2)));   

t=0:0.1:2*pi;
n=length(t)
x1=[a*cos(t);
b*sin(t)];
c=[X0*ones(1,n);Y0*ones(1,n)];
R=[cos(theta) -sin(theta);
    sin(theta) cos(theta)];
X=R*x1+c;
X
plot(X(1,:),X(2,:),'bo')
hold on;
plot(x,y,'ro');
plot(X0,Y0,'go');
axis equal;

f:id:seinzumtode:20190421114202p:plain