import java.io.*;
public class BinarySearchTest
{
    String dictionary[] = new String [370105];

    public static void main (String args[])
    {
	new BinarySearchTest ();
    }


    public BinarySearchTest ()
    {
	readIn ();
	String find = IO.inputString ("Word>> ");
	System.out.println (BinarySearch (find));
    }


    public void readIn ()
    {
	BufferedReader in;
	try
	{
	    in = new BufferedReader (new FileReader ("dictionary.txt"));
	    for (int i = 0 ; i < dictionary.length ; i++)
	    {
		dictionary [i] = in.readLine ().trim ();

	    }
	    in.close ();

	}
	catch (IOException e)
	{
	    System.out.println ("Error opening file " + e);
	}
    }


    public boolean BinarySearch (String find)
    {
	int high = dictionary.length;
	int low = 0;
	boolean foundit = false;
	int mid = 0;
	while (high >= low && !foundit)
	{
	    mid = (high + low) / 2;
	    if (dictionary [mid].equals (find))
		foundit = true;
	    else if (find.compareTo (dictionary [mid]) > 0)
		low = mid + 1;
	    else //if (find < dictionary [mid])
		high = mid - 1;
	}
	return foundit;
    }
}
