<p>You are given the <code>head</code> of a linked list.</p>
<p>The nodes in the linked list are <strong>sequentially</strong> assigned to <strong>non-empty</strong> groups whose lengths form the sequence of the natural numbers (<code>1, 2, 3, 4, ...</code>). The <strong>length</strong> of a group is the number of nodes assigned to it. In other words,</p>
<ul>
<li>The <code>1<sup>st</sup></code> node is assigned to the first group.</li>
<li>The <code>2<sup>nd</sup></code> and the <code>3<sup>rd</sup></code> nodes are assigned to the second group.</li>
<li>The <code>4<sup>th</sup></code>, <code>5<sup>th</sup></code>, and <code>6<sup>th</sup></code> nodes are assigned to the third group, and so on.</li>
</ul>
<p>Note that the length of the last group may be less than or equal to <code>1 + the length of the second to last group</code>.</p>
<p><strong>Reverse</strong> the nodes in each group with an <strong>even</strong> length, and return <em>the</em><code>head</code><em>of the modified linked list</em>.</p>