% Need \usepackage{amsmath} before \usepackage{mymacros}

\def\SQUARE{\hbox{\vrule width 4pt height 4pt depth 0pt}}

\newcommand{\dnote}[1]{{\bf DZ: #1}}
\newcommand{\remove}[1]{}

\newcommand{\zo}{\{0,1\}}
\newcommand{\zod}{\{0,1\}^d}
\newcommand{\zol}{\{0,1\}^l}
\newcommand{\zom}{\{0,1\}^m}
\newcommand{\zon}{\{0,1\}^n}
\newcommand{\zor}{\{0,1\}^r}
\newcommand{\zoR}{\{0,1\}^R}
\newcommand{\zos}{\{0,1\}^s}
\newcommand{\zot}{\{0,1\}^t}
\newcommand{\zou}{\{0,1\}^u}
\newcommand{\zov}{\{0,1\}^v}
\newcommand{\set}[1]{\{ #1 \}}
\newcommand{\pmone}{\set{-1,1}}
\newcommand{\on}{\{1,2,\ldots ,n\}}
\newcommand{\half}{{\frac{1}{2}}}
\newcommand{\Ot}{\tilde{O}}
% \newcommand{\expect}[1]{\mbox{\rm E}[#1]}
\newcommand{\prob}[1]{\mbox{\rm Pr}[#1]}
\newcommand{\probd}[1]{\Pr\left[\: #1 \:\right]}
%\newcommand{\prob}[1]{\mbox{\bf Pr}[#1]}
% \newcommand{\probd}[1]{\mbox{\bf Pr}\left[\: #1 \:\right]}
\newcommand{\norm}[1]{\| #1 \|}
\newcommand{\lone}[1]{\| #1 \|_1}
\newcommand{\ltwo}[1]{\| #1 \|_2}
\newcommand{\linfty}[1]{\| #1 \|_\infty}
\newcommand{\ceil}[1]{\lceil #1 \rceil}
\newcommand{\bigceil}[1]{\left\lceil #1 \right\rceil}
\newcommand{\floor}[1]{\lfloor #1 \rfloor}
\newcommand{\bigfloor}[1]{\left\lfloor #1 \right\rfloor}
\newcommand{\angles}[1]{\langle #1 \rangle}
\newcommand{\minentropy}{H_\infty}
\newcommand{\eps}{\epsilon}
\newcommand{\epsinv}{\epsilon^{-1}}
\newcommand{\dinv}{\delta^{-1}}
\newcommand{\ginv}{\gamma^{-1}}
\newcommand{\Sum}{\displaystyle \sum}
% \newcommand{\mod}{\hspace*{-.1in} \pmod}
\newcommand{\notdiv}{\!\! \not | \,}
\newcommand{\F}{\mathbb{F}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\C}{\mathcal{C}}

\newcommand{\sn}{\smallskip\noindent}
\newcommand{\mn}{\medskip\noindent}

\DeclareMathOperator{\poly}{poly}
\DeclareMathOperator{\polylog}{polylog}
\DeclareMathOperator{\sign}{sign}
\DeclareMathOperator{\ext}{Ext}
\DeclareMathOperator{\maj}{maj}
\DeclareMathOperator{\enc}{Enc}
\DeclareMathOperator{\dec}{Dec}
\DeclareMathOperator{\wt}{wt}
\DeclareMathOperator{\vol}{vol}
\DeclareMathOperator{\lsb}{lsb}
\DeclareMathOperator{\lcm}{lcm}
\DeclareMathOperator{\expect}{E}
\DeclareMathOperator{\vc}{vc}
\DeclareMathOperator{\ind}{ind}
\DeclareMathOperator{\dist}{dist}

\newcommand{\dl}{{\bf \rm L}}
%\newcommand{\nl}{{\bf \rm NL}}
\newcommand{\rl}{{\bf \rm RL}}
\newcommand{\syml}{{\bf \rm SL}}
\newcommand{\conl}{{\bf \rm coNL}}
\newcommand{\p}{{\bf \rm P}}
\newcommand{\np}{{\bf \rm NP}}
\newcommand{\bpp}{{\bf \rm BPP}}

\newcommand{\quasip}{{\bf \rm \tilde{P}}}
\newcommand{\fp}{{\bf \rm FP}}

\newcommand{\nph}{{\bf \rm NP-hard}}
\newcommand{\npc}{{\bf \rm NP-complete}}
\newcommand{\quasinp}{{\bf \rm N\tilde{P}}}
\newcommand{\conp}{{\bf \rm coNP}}
\newcommand{\fnp}{{\bf \rm FNP}}
\newcommand{\rp}{{\bf \rm RP}}
\newcommand{\quasirp}{{\bf \rm R\tilde{P}}}
\newcommand{\corp}{{\bf \rm coRP}}
\newcommand{\zpp}{{\bf \rm ZPP}}
\newcommand{\ma}{{\bf \rm MA}}
\newcommand{\ph}{{\bf \rm PH}}
\newcommand{\nc}{{\bf \rm NC}}
\newcommand{\ac}{{\bf \rm AC}}
\newcommand{\pspace}{{\bf \rm PSPACE}}
\newcommand{\expt}{{\bf \rm EXP}}
\newcommand{\nexp}{{\bf \rm NEXP}}
\newcommand{\e}{{\bf \rm E}}
\newcommand{\pcp}{{\bf \rm PCP}}
\newcommand{\fpcp}{{\bf \rm FPCP}}
\newcommand{\fpcpbar}{\bar{\bf \rm FPCP}}
\newcommand{\dtime}{{\bf \rm TIME}}
%\newcommand{\dtime}{{\bf \rm DTIME}}
\newcommand{\ntime}{{\bf \rm NTIME}}
\newcommand{\zptime}{{\bf \rm ZPTIME}}
\newcommand{\dspace}{{\bf \rm SPACE}}
%\newcommand{\dspace}{{\bf \rm DSPACE}}
\newcommand{\nspace}{{\bf \rm NSPACE}}
\newcommand{\conspace}{{\bf \rm coNSPACE}}
\newcommand{\rspace}{{\bf \rm RSPACE}}

\newcommand{\eqdef}{\stackrel{\rm def}{=}}
\newcommand{\bp}{\begin{proof}}
\newcommand{\ep}{\end{proof}}
\newcommand{\bs}{\begin{solution}}
\newcommand{\es}{\end{solution}}
\newcommand{\defn}{\stackrel{\text{\tiny def}}{=}}
\newcommand{\bitem}{\begin{itemize}}
\newcommand{\eitem}{\end{itemize}}
\newcommand{\benum}{\begin{enumerate}}
\newcommand{\eenum}{\end{enumerate}}
