%%%%%%%%%%%%%%%%%%%%
%% Basic needs of a LaTeX-er
%%%%%%%%%%%%%%%%%%%%

\RequirePackage{amsmath,amssymb,amsthm,mathtools}
\RequirePackage{hyperref}
\RequirePackage{algorithm}
\RequirePackage[noend]{algpseudocode}
\RequirePackage[backend=biber,style=alphabetic]{biblatex}
\RequirePackage{comment}

%% Order is important
\RequirePackage[small]{complexity}
\hypersetup{unicode=true}

\RequirePackage[utf8]{inputenc}
\RequirePackage{cmap}
\RequirePackage[T2A]{fontenc}
\RequirePackage{csquotes}
\RequirePackage[russian]{babel}
\RequirePackage{xspace}

%%%%%%%%%%%%%%%%%%%%
%% Paired delimiters: sets, maps, etc.
%%%%%%%%%%%%%%%%%%%%

\DeclarePairedDelimiter\set{\lbrace}{\rbrace}
\DeclarePairedDelimiter\abs{\lvert}{\rvert}
\DeclarePairedDelimiter\ceil{\lceil}{\rceil}
\DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
\DeclarePairedDelimiter\segment{[}{]}
\DeclarePairedDelimiter\parens{(}{)}
\DeclarePairedDelimiter\tuple{\langle}{\rangle}

\DeclarePairedDelimiterX{\map}[2]{\lbrace}{\rbrace}{#1 \,\delimsize\vert\,\mathopen{} #2}
\DeclarePairedDelimiterX{\cond}[2]{[}{]}{#1 \,\delimsize\vert\,\mathopen{} #2}

%%%%%%%%%%%%%%%%%%%%
%% Personal
%%%%%%%%%%%%%%%%%%%%
\newcommand{\BigO}{\mathcal{O}}
\newcommand{\SmallO}{o}

\newcommand{\eps}{\varepsilon}
