var
i, j, d, n, br, k, kor : int64;
p : boolean;
begin
Read(n);
i := 1;
p := false;
kor := Round(sqrt(n) / 2);
while
(i <= kor) and not p do
begin
d := 1;
while
(d < kor) and (not p) do
begin
k := i;
br := k*k;
while
(br < n) do
begin
k := k + d;
br := br + k*k;
end;
if
br = n then p := true
else
d := d + 1;
end;
if
not p then i := i + 1;
end;
if
p then
begin
Write(n, ' = ');
j := i; br := 0;
while
br < n do
begin
Write(j,' * ',j,' + ');
br := br + j*j;
j := j + d;
end;
end
else
WriteLn('Ne moze');
end.