###########################################################################

# setup contexts and variables

###########################################################################

Context("LimitedPolynomial-Strict");

$var = list_random('x','y','z','t','p','q','u','v');

Context()->variables->are(lc($var)=>"Real", uc($var)=>"Real");

do {($a2,$a1,$a0) = (non_zero_random(-7,7), non_zero_random(-7,7), non_zero_random(-7,7))} until (abs($a1) != abs($a2));

do {($b2,$b1,$b0) = (non_zero_random(-7,7), non_zero_random(-7,7), non_zero_random(-7,7))} until (abs($b2) != abs($a2) || abs($b1) != abs($a1));

$poly1 = nicestring([$a2,$a1,$a0], ["$var^2","$var",""]);

$poly2 = nicestring([$b2,$b1,$b0], ["$var^2","$var",""]);

$expn = "($poly1) + ($poly2)";

$poly = nicestring([$a2+$b2,$a1+$b1,$a0+$b0], ["$var^2","$var",""]);

$answer = Formula($poly)->reduce;

###########################################################################

# state the problem

###########################################################################

Context()->texStrings;

BEGIN_TEXT

Perform the operation

$PAR\[ $expn \] $PAR

and combine line terms. Simplify your answer as much as possible.

$PAR

Answer: \{ans_rule(30)\}

END_TEXT

Context()->normalStrings;

###########################################################################

# check the answer

###########################################################################

ANS($answer->cmp());