Please read the following table in HTML format from a webpage and then answer the question in detail according to the table. Each table cell is defined by a <td> and a </td> tag. Each table row starts with a <tr> and ends with a </tr> tag. 'rowspan=m' and 'colspan=n' represents a cell spaning over 'm' rows and 'n' columns.

Webpage title:
Lucknow Cantonment (Assembly constituency)
Table title:
Election results
Table:
<table id='hittask' contenteditable='False'>
<tr> <th colspan=2 rowspan=1 > Party </th><th colspan=1 rowspan=1 > Candidate </th><th colspan=1 rowspan=1 > Votes </th><th colspan=1 rowspan=1 > % </th><th colspan=1 rowspan=1 > ± </th></tr>
<tr> <td colspan=1 rowspan=1 >  </td><td class="highlighted"  colspan=1 rowspan=1 > BJP </td><td class="highlighted"  colspan=1 rowspan=1 > Dr. Rita Joshi </td><td colspan=1 rowspan=1 > 95,402 </td><td colspan=1 rowspan=1 > 50.90 </td><td colspan=1 rowspan=1 >  </td></tr>
<tr> <td colspan=1 rowspan=1 >  </td><td class="highlighted"  colspan=1 rowspan=1 > SP </td><td class="highlighted"  colspan=1 rowspan=1 > Aparna Yadav </td><td colspan=1 rowspan=1 > 61,606 </td><td colspan=1 rowspan=1 > 32.87 </td><td colspan=1 rowspan=1 >  </td></tr>
<tr> <td colspan=1 rowspan=1 >  </td><td colspan=1 rowspan=1 > BSP </td><td colspan=1 rowspan=1 > Yogesh Dixit </td><td colspan=1 rowspan=1 > 26,036 </td><td colspan=1 rowspan=1 > 13.89 </td><td colspan=1 rowspan=1 >  </td></tr>
<tr> <td colspan=1 rowspan=1 >  </td><td colspan=1 rowspan=1 > RLD </td><td colspan=1 rowspan=1 > Virendra Kumar Shukla </td><td colspan=1 rowspan=1 > 720 </td><td colspan=1 rowspan=1 > 0.38 </td><td colspan=1 rowspan=1 >  </td></tr>
<tr> <td colspan=1 rowspan=1 >  </td><td colspan=1 rowspan=1 > Shiv Sena </td><td colspan=1 rowspan=1 > Kunwar Gaurav Upadhyay </td><td colspan=1 rowspan=1 > 397 </td><td colspan=1 rowspan=1 > 0.21 </td><td colspan=1 rowspan=1 >  </td></tr>
<tr> <td colspan=1 rowspan=1 >  </td><td colspan=1 rowspan=1 > NOTA </td><td colspan=1 rowspan=1 > None of the Above </td><td colspan=1 rowspan=1 > 1,150 </td><td colspan=1 rowspan=1 > 0.61 </td><td colspan=1 rowspan=1 >  </td></tr>
<tr> <th colspan=3 rowspan=1 > Majority </th><td class="highlighted"  colspan=1 rowspan=1 > 33,796 </td><td colspan=1 rowspan=1 > 18.03 </td><td colspan=1 rowspan=1 >  </td></tr>
<tr> <th colspan=3 rowspan=1 > Turnout </th><td colspan=1 rowspan=1 > 1,87,433 </td><td colspan=1 rowspan=1 > 50.89 </td><td colspan=1 rowspan=1 >  </td></tr>
<tr> <td colspan=1 rowspan=1 >  </td><td colspan=2 rowspan=1 > BJP gain from INC </td><th colspan=1 rowspan=1 > Swing </th><td colspan=1 rowspan=1 >  </td><td colspan=1 rowspan=1 >  </td></tr>
</table>
Question:
Who were the top two finishers in the election, what party did each represent, and what was the majority margin of victory?
Answer:
The Lucknow Cantonment seat belongs to the Bharatiya Janata Party candidate Dr. Rita Bahuguna Joshi, who defeated Samajwadi Party candidate Aparna Yadav by a margin of 33,796 votes.