variables
  x[21] in (0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0);

function f(x[21])
  return(x(1)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(2)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(3)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(4)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(5)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(6)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(7)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(8)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(9)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(10)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(11)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(12)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(13)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(14)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(15)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(16)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(17)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(18)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(19)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(20)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)); x(21)*(-1 + x(1)*x(2)*x(3)*x(4)*x(5)*x(6)*x(7)*x(8)*x(9)*x(10)*x(11)*x(12)*x(13)*x(14)*x(15)*x(16)*x(17)*x(18)*x(19)*x(20)*x(21)));
end

function v(u[21])
  return(u(1)^2 + u(2)^2 + u(3)^2 + u(4)^2 + u(5)^2 + u(6)^2 + u(7)^2 + u(8)^2 + u(9)^2 + u(10)^2 + u(11)^2 + u(12)^2 + u(13)^2 + u(14)^2 + u(15)^2 + u(16)^2 + u(17)^2 + u(18)^2 + u(19)^2 + u(20)^2 + u(21)^2);
end