\begin{flushleft}
\begin{minipage}[t]{\textwidth}
\hrulefill

\vspace*{-5mm}

\begin{verbatim}
#include<iostream.h>
#include<LINK/basic/MSet.h>

MSet<int> f()
{
        MSet<int> mset;
        mset.insert(9);
        mset.insert(10);
        mset.append(11);
        return mset;
}

main()
{
        MSet<int> mset0;
        MSet<int> mset1; 
        mset0.insert(1);
        mset0.insert(2);
        mset0.append(3);

        mset1 = mset0;
        MSet<int> mset2(mset1); 

        mset0 = f();            // function return takes O(1) (reference
                                // counting means that {9 10 11} needn't
                                // be recopied)
        mset1.insert(9);
        cout << mset0<< endl;
        cout << mset1 << endl;
        cout << mset2 << endl;
}
\end{verbatim}

\vspace*{-7mm}

\hrulefill

\vspace*{-5mm}

\begin{verbatim} 
{9 10 11}
{1 2 3 9}
{1 2 3}
\end{verbatim}

\vspace*{-6mm}

\hrulefill
\end{minipage}
\end{flushleft}
