function Generate($level)
 {
     $ppl = rand(20, 40);
     $rounds = rand(round($ppl / 2), round($ppl * 4 / 5));
     $default = rand(3, 7) * 50;
     $extra = rand(5, 9);
     $total = $ppl - 1;
     $wins = rand(0, $total);
     // // Original exercise
     // $ppl = 31;
     // $rounds = 21;
     // $default = 250;
     // $extra = 7;
     // $total = $ppl-1;
     // $wins = 25;
     $wins = $wins == $rounds ? $wins + pow(-1, rand(0, 1)) : $wins;
     $defeats = $total - $wins;
     $points = $default + ($wins - $rounds) * $extra;
     $diff = $wins - $rounds;
     $question = 'Egy öttusaversenyen $' . $ppl . '$ résztvevő indult. A vívás az első szám, ahol mindenki mindenkivel egyszer mérkőzik meg. Aki $' . $rounds . '$ győzelmet arat, az $' . $default . '$ pontot kap. Aki ennél több győzelmet arat, az minden egyes további győzelemért $' . $extra . '$ pontot kap ' . The($default) . ' $' . $default . '$ ponton felül. Aki ennél kevesebbszer győz, attól annyiszor vonnak le $' . $extra . '$ pontot ' . The($default) . ' $' . $default . '$-' . From($default) . ', ahány győzelem hiányzik ' . The($rounds) . ' $' . $rounds . '$-' . To($rounds) . '. (A mérkőzések nem végződhetnek döntetlenre.) ';
     $type = 'int';
     $question .= 'Hány pontot kapott a vívás során Péter, akinek $' . $defeats . '$ veresége volt?';
     $correct = $points;
     $solution = '$' . $correct . '$';
     $total = $ppl - 1;
     $diff = $wins - $rounds;
     if ($diff > 0) {
         $page[] = 'Mivel mindenki mindenkivel vívott, ezért Péternek összesen $' . $ppl . '-1=' . $total . '$ mérkőzése volt.';
         $page[] = 'Péter $' . $total . '$ mérkőzésből $' . $defeats . '$-' . Dativ($defeats) . ' vesztett el, azaz a többi $' . $total . '-' . $defeats . '=' . $wins . '$ mérkőzést megnyerte.';
         $page[] = 'Mivel Péter legalább $' . $rounds . '$ mérkőzést nyert, ezért kap $' . $default . '$ pontot.';
         $page[] = 'Az előírt $' . $rounds . '$ mérkőzésen túl további $' . $wins . '-' . $rounds . '=' . $diff . '$ alkalommal nyert, ami további $' . $diff . '\\cdot' . $extra . '=' . strval($diff * $extra) . '$ pontot jelent.';
         $page[] = 'Tehát Péter összesen $' . $default . '+' . strval($diff * $extra) . '=$ <span class="label label-success">$' . $correct . '$</span> pontot kapott.';
         $hints[] = $page;
     } else {
         $diff *= -1;
         $page[] = 'Mivel mindenki mindenkivel vívott, ezért Péternek összesen $' . $ppl . '-1=' . $total . '$ mérkőzése volt.';
         $page[] = 'Péter győztes meccseinek száma $' . $rounds . '$ helyett mindössze $' . $wins . '$ volt, ami $' . $diff . '$-' . With($diff) . ' kevesebb.';
         $page[] = 'Ezért a $' . $default . '$ pontnál $' . $diff . '\\cdot' . $extra . '=' . strval($diff * $extra) . '$-' . By($diff * $extra) . ' kevesebb pontot kap.';
         $page[] = 'Tehát Péter összesen $' . $default . '-' . strval($diff * $extra) . '=$ <span class="label label-success">$' . $correct . '$</span> pontot kapott.';
         $hints[] = $page;
     }
     return array('question' => $question, 'correct' => $correct, 'solution' => $solution, 'type' => $type, 'hints' => $hints);
 }
 function Generate($level)
 {
     $d = rand(-2 * $level, 2 * $level);
     $a0 = rand(-2 * $level, 2 * $level);
     // // Original exercise
     // $d = -7;
     // $a0 = 32;
     $a1 = $a0 + $d;
     $a2 = $a1 + $d;
     $question = 'Egy számtani sorozat három egymást követő tagja ebben a sorrendben $' . $a0 . ';x$ és $' . $a2 . '$. ';
     $question .= 'Határozza meg a sorozat differenciáját!';
     $correct = $d;
     $solution = '$' . $correct . '$';
     $page[] = 'A számtani sorozatban minden tagot úgy tudunk kiszámolni, hogy hozzáadunk $\\textcolor{blue}{d}$-t (a <i>differenciát</i>) az előző számhoz:$$a_1\\xrightarrow{+\\textcolor{blue}{d}}a_2\\xrightarrow{+\\textcolor{blue}{d}}a_3$$';
     $page[] = 'Tehát ha az első szám $' . $a0 . '$, akkor' . '$$\\begin{eqnarray}a_1&=&' . $a0 . '\\\\' . ' a_2&=&a_1+\\textcolor{blue}{d}=' . $a0 . '+\\textcolor{blue}{d}=x \\\\ ' . ' a_3&=&a_2+\\textcolor{blue}{d}=a_1+2\\cdot \\textcolor{blue}{d}=' . $a2 . '\\end{eqnarray}$$';
     $page[] = 'Látjuk, hogy ha ' . The($a2) . ' $' . $a2 . '$-' . From($a2) . ' kivonunk $' . $a0 . '$-' . Dativ($a0) . ', a differencia $2$-szeresét kapjuk:$$2\\cdot\\textcolor{blue}{d}=' . $a2 . '-' . ($a0 < 0 ? '(' . $a0 . ')' : $a0) . '=' . ($a0 < 0 ? $a2 . '+' . abs($a0) . '=' : '') . strval(2 * $d) . '$$';
     $page[] = 'Ha ezt a különbséget elosztjuk $2$-vel, megkapjuk a $\\textcolor{blue}{d}$ értékét:' . '$$\\textcolor{blue}{d}=' . strval(2 * $d) . ':2=' . $d . '$$';
     $page[] = 'Tehát a $d$ értéke <span class="label label-success">$' . $d . '$</span>.';
     $hints[] = $page;
     return array('question' => $question, 'correct' => $correct, 'solution' => $solution, 'hints' => $hints);
 }
 function Generate($level)
 {
     $ppl = rand(20, 40);
     $rounds = rand(round($ppl / 2), round($ppl * 4 / 5));
     $default = rand(3, 7) * 50;
     $extra = rand(5, 9);
     $total = $ppl - 1;
     $wins = rand(0, $total);
     // // Original exercise
     // $ppl = 31;
     // $rounds = 21;
     // $default = 250;
     // $extra = 7;
     // $total = $ppl-1;
     // $wins = 16;
     $wins = $wins == $rounds ? $wins + pow(-1, rand(0, 1)) : $wins;
     $defeats = $total - $wins;
     $points = $default + ($wins - $rounds) * $extra;
     $diff = $wins - $rounds;
     $question = 'Egy öttusaversenyen $' . $ppl . '$ résztvevő indult. A vívás az első szám, ahol mindenki mindenkivel egyszer mérkőzik meg. Aki $' . $rounds . '$ győzelmet arat, az $' . $default . '$ pontot kap. Aki ennél több győzelmet arat, az minden egyes további győzelemért $' . $extra . '$ pontot kap ' . The($default) . ' $' . $default . '$ ponton felül. Aki ennél kevesebbszer győz, attól annyiszor vonnak le $' . $extra . '$ pontot ' . The($default) . ' $' . $default . '$-' . From($default) . ', ahány győzelem hiányzik ' . The($rounds) . ' $' . $rounds . '$-' . To($rounds) . '. (A mérkőzések nem végződhetnek döntetlenre.) ';
     $type = 'int';
     $question .= 'Hány győzelme volt Bencének, aki $' . $points . '$ pontot szerzett?';
     $correct = $wins;
     $solution = '$' . $correct . '$';
     if ($diff > 0) {
         $page[] = 'Bence $' . $default . '$ pontnál többet szerzett, ami azt jelenti, hogy legalább $' . $rounds . '$ mérkőzést nyert.';
         $page[] = 'Számoljuk ki, Bence pontjainak száma mennyivel több, mint $' . $default . '$:$$' . $points . '-' . $default . '=' . strval($diff * $extra) . '$$';
         $page[] = 'Ha ezt a számot elosztjuk $' . $extra . '$-' . With($extra) . ', megkapjuk, hogy hány további versenyt nyert Bence:$$' . strval($diff * $extra) . ':' . $extra . '=' . $diff . '$$';
         $page[] = 'Tehát Bencének összesen $' . $rounds . '+' . $diff . '=$ <span class="label label-success">$' . $correct . '$</span> győzelme volt.';
         $hints[] = $page;
     } else {
         $diff *= -1;
         $page[] = 'Bence $' . $default . '$ pontnál kevesebbet szerzett, ami azt jelenti, hogy kevesebb, mint $' . $rounds . '$ mérkőzést nyert.';
         $page[] = 'Számoljuk ki, Bence pontjainak száma mennyivel kevesebb, mint $' . $default . '$:$$' . $default . '-' . $points . '=' . strval($diff * $extra) . '$$';
         $page[] = 'Ha ezt a számot elosztjuk $' . $extra . '$-' . With($extra) . ', megkapjuk, hogy hány további versenyt vesztett el Bence:$$' . strval($diff * $extra) . ':' . $extra . '=' . $diff . '$$';
         $page[] = 'Tehát Bencének összesen $' . $rounds . '-' . $diff . '=$ <span class="label label-success">$' . $correct . '$</span> győzelme volt.';
         $hints[] = $page;
     }
     return array('question' => $question, 'correct' => $correct, 'solution' => $solution, 'type' => $type, 'hints' => $hints);
 }