DOCUMENT();

loadMacros('PGstandard.pl', 'PGML.pl', 'plotly3D.pl', 'PGcourse.pl');

$a = random(2, 5);

$graph1 = Graph3D();
$graph1->addSurface(
    [ 'u * cos(v)', 'u * sin(v)', "$a * cos(u^2 / 4)" ],
    [ 0,            6,            30 ],
    [ 0,            2 * pi,       30 ]
);

$graph2 = Graph3D();
$graph2->addSurface(
    [ 'r * cos(t)', 'r * sin(t)', 'r * sin(t)^2' ],
    [ 0,            6,            30 ],
    [ 0,            2 * pi,       30 ],
    variables => [ 'r', 't' ]
);

BEGIN_PGML
[@ $graph1->Print @]*

[@ $graph2->Print @]*
END_PGML

BEGIN_PGML_SOLUTION
Solution explanation goes here.
END_PGML_SOLUTION

ENDDOCUMENT();