package rene.util.sort;

import java.io.*;

import java.util.*;

/**
Quick sort implementation. Sorts an array or a vector of SortObject.
*/

public class Sorter
{	static public void sort (SortObject v[])
	{	QuickSort(v,0,v.length-1);
	}
	
	static public void sort (SortObject v[], int n)
	{	QuickSort(v,0,n-1);
	}
	
	static public void sort (Vector v)
	{	SortObject o[]=new SortObject[v.size()];
		v.copyInto(o);
		sort(o);
		for (int i=0; i<o.length; i++)
			v.setElementAt(o[i],i);
	}
	
	static public void QuickSort (SortObject a[], int lo0, int hi0)
	{	int lo = lo0;
		int hi = hi0;
		SortObject mid;

		if ( hi0 > lo0)
		{	mid = a[ ( lo0 + hi0 ) / 2 ];
			while( lo <= hi )
			{	while( ( lo < hi0 ) && ( a[lo].compare(mid)<0 ) )
				   ++lo;
				while( ( hi > lo0 ) && ( a[hi].compare(mid)>0 ) )
				   --hi;
				if( lo <= hi ) 
				{	swap(a, lo, hi);
					++lo;
					--hi;
				}
			}
			if( lo0 < hi ) QuickSort( a, lo0, hi );
			if( lo < hi0 ) QuickSort( a, lo, hi0 );
		}	
	}

	static private void swap (SortObject a[], int i, int j)
	{	SortObject T;
		T = a[i]; 
		a[i] = a[j];
		a[j] = T;
	}

	static public void QuickSort (Object a[], int lo0, int hi0)
	{	int lo = lo0;
		int hi = hi0;
		SortObject mid;

		if ( hi0 > lo0)
		{	mid = (SortObject) a[ ( lo0 + hi0 ) / 2 ];
			while( lo <= hi )
			{	while( ( lo < hi0 ) && ( ((SortObject)a[lo]).compare(mid)<0 ) )
				   ++lo;
				while( ( hi > lo0 ) && ( ((SortObject)a[hi]).compare(mid)>0 ) )
				   --hi;
				if( lo <= hi ) 
				{	swap(a, lo, hi);
					++lo;
					--hi;
				}
			}
			if( lo0 < hi ) QuickSort( a, lo0, hi );
			if( lo < hi0 ) QuickSort( a, lo, hi0 );
		}
	}

	static private void swap (Object a[], int i, int j)
	{	Object T;
		T = a[i]; 
		a[i] = a[j];
		a[j] = T;
	}

	public static void main (String args[])
		throws IOException
	// Sort the incoming lines and remove doublicates
	{	BufferedReader in=new BufferedReader(
			new InputStreamReader(System.in));
		Vector v=new Vector();
		while (true)
		{	String line=in.readLine();
			if (line==null) break;
			v.addElement(new SortString(line));
		}
		in.close();
		sort(v);
		Enumeration e=v.elements();
		String last=null;
		while (e.hasMoreElements())
		{	String s=((SortString)e.nextElement()).toString();
			if (last==null || !s.equals(last))
			{	System.out.println(s);
				last=s;
			}
		}
	}
}

