import java.io.*;

class FindWord {

    public static void main(String[] args) {
	if (args.length < 1)
	    error("usage: FindWord word [file]");

	try {
	    InputStream in;
	    if (args.length < 2)
		in = System.in;
	    else
		in = new FileInputStream(args[1]);

	    LineNumberInputStream lineNumberIn =
		new LineNumberInputStream(in);

	    LineInputStream lineIn =	// from Exercise 11.2
	        new LineInputStream(lineNumberIn);

	    while (true) {
		String line = lineIn.readLine();
		if (line.indexOf(args[0]) != -1)
		    System.out.println(
			String.valueOf(lineNumberIn.getLineNumber()) + ": " +
			               line);
	    }
	} catch (EOFException ignore) {
	} catch (IOException e) {
	    error("I/O Exception: " + e);
	}
    }

    public static void error(String err) {
	System.err.println("FindWord: " + err);
	System.exit(1); // non-zero argument means "not good"
    }
}
