\begin{algorithm}
        \caption{Two Sum}
        \begin{algorithmic}
        \INPUT An array $S[1..n]$ representing a set of $n$ integers and an integer $x$ .
        \OUTPUT Whether there is two elements in $S$ whose summation equals $x$ .
        \STATE \CALL{MergeSort}{$S, 1, n$} \COMMENT{$\Theta(n\log n)$}
        \STATE $i = 1$
        \STATE $j = n$
        \WHILE{$i < j$}
            \IF{$S[i] + S[j] < x$}
                \STATE $i = i + 1$
            \ELSEIF{$S[i] + S[j] > x$}
                \STATE $j = j - 1$
            \ELSE
                \RETURN \TRUE
            \ENDIF
        \ENDWHILE
        \RETURN \FALSE
        \end{algorithmic}
        \end{algorithm}