\renewcommand{\ds}{\displaystyle} \renewcommand{\rm}[1]{\mathrm{#1}} \newcommand{\mf}[1]{\mathfrak{#1}} \newcommand{\mc}[1]{\mathcal{#1}} \newcommand{\ms}[1]{\mathscr{#1}} \newcommand{\bb}[1]{\mathbb{#1}} \renewcommand{\bf}[1]{\mathbf{#1}} \renewcommand{\sf}[1]{\mathsf{#1}} \renewcommand{\tt}[1]{\texttt{#1}} \newcommand{\inv}{^{-1}} \newcommand{\conj}{^{\ast}} \newcommand{\trans}{^\top} \newcommand{\cross}{^\times} \newcommand{\op}{^\rm{op}} \newcommand{\bs}{\setminus} \newcommand{\nsub}{\unlhd} \newcommand{\pnsub}{\lhd} \newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor} \newcommand{\ceil}[1]{\left\lceil #1 \right\rceil} \newcommand{\round}[1]{\left\lfloor #1 \right\rceil} \newcommand{\norm}[1]{\left\lVert #1 \vphantom{l} \right\rVert} \newcommand{\abs}[1]{\left\lvert #1 \right\rvert} \newcommand{\paren}[1]{\left( #1 \right)} \newcommand{\braces}[1]{\left\{ #1 \right\}} \renewcommand{\span}[1]{\left\langle #1 \right\rangle} \renewcommand{\bar}[1]{\overline{#1 \vphantom{l}}} \newcommand{\lcm}{{\rm lcm}} \newcommand{\ra}{\rightarrow} \newcommand{\longra}{\longrightarrow} \newcommand{\la}{\leftarrow} \newcommand{\longla}{\longleftarrow} \newcommand{\lra}{\leftrightarrow} \newcommand{\imp}{\implies} \newcommand{\pll}{\parallel} \newcommand{\N}{\mathbb{N}} \newcommand{\Z}{\mathbb{Z}} \newcommand{\Q}{\mathbb{Q}} \newcommand{\R}{\mathbb{R}} \newcommand{\C}{\mathbb{C}} \newcommand{\F}{\mathbb{F}} \newcommand{\Adv}[2][]{\mathrm{Adv}_{\mathrm{#1}}[#2]} \DeclareMathOperator{\im}{im} \DeclareMathOperator{\ch}{char} \DeclareMathOperator{\quotient}{/} \newcommand{\Aut}{\mathrm{Aut}} \newcommand{\Gal}{\mathrm{Gal}} \newcommand{\irr}{\mathrm{irr}} \newcommand{\GF}{\mathrm{GF}} \let\oldexists\exists \renewcommand{\exists}{\oldexists\,} \let\oldtilde\tilde \renewcommand{\tilde}[1]{\widetilde{#1}} \let\oldhat\hat \renewcommand{\hat}[1]{\widehat{#1}}