The midpoints and frequencies for the frequency polygon are:
\[
\begin{aligned}
&\text{(29, 23)} \\
&\text{(34, 28)} \\
&\text{(39, 19)} \\
&\text{(44, 15)} \\
&\text{(49, 11)} \\
&\text{(54, 0.04)} \\
\end{aligned}
\]
The cumulative frequencies for the ogive are:
\[
\begin{aligned}
&\text{(31, 23)} \\
&\text{(36, 51)} \\
&\text{(41, 70)} \\
&\text{(46, 85)} \\
&\text{(51, 96)} \\
&\text{(56, 96.04)} \\
\end{aligned}
\]
{"axisType": 3, "coordSystem": {"xmin": 25, "xmax": 60, "ymin": 0, "ymax": 100}, "commands": ["y = 23 if 27 <= x <= 31 else 0", "y = 28 if 32 <= x <= 36 else 0", "y = 19 if 37 <= x <= 41 else 0", "y = 15 if 42 <= x <= 46 else 0", "y = 11 if 47 <= x <= 51 else 0", "y = 0.04 if 52 <= x <= 56 else 0"], "latex_expressions": ["$y = 23$ for $27 \\leq x \\leq 31$", "$y = 28$ for $32 \\leq x \\leq 36$", "$y = 19$ for $37 \\leq x \\leq 41$", "$y = 15$ for $42 \\leq x \\leq 46$", "$y = 11$ for $47 \\leq x \\leq 51$", "$y = 0.04$ for $52 \\leq x \\leq 56$"]}