/*
 * EasyReader.java
 *
 * Created on June 20, 2003, 8:40 PM
 */

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;

/**
 * Provides utility methods to read data from System.in
 *
 * @author  Greg Dennis
 */
public final class EasyReader {
    
    // Character stream reader of System.in
    private static final BufferedReader READER = new BufferedReader(new InputStreamReader(System.in));
    
    // private constructor to suppress default public constructor
    private EasyReader() {}
 
    /**
     * Reads a line of characters from standard input.
     */
    public static String readLine() {        
        try {
            return READER.readLine();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
    
    /**
     * Reads a word of characters from standard input.
     */
    public static String readWord() {
        StringTokenizer st = new StringTokenizer(readLine());
        if (!st.hasMoreTokens()) return readWord();
        return st.nextToken();
    }
    
    /**
     * Reads a byte integer from standard input.
     */
    public static byte readByte() {
        return Byte.parseByte(readWord());
    }
    
    /**
     * Reads a short integer from standard input.
     */
    public static short readShort() {
        return Short.parseShort(readWord());
    }
    
    /**
     * Reads an integer from standard input.
     */
    public static int readInt() {
        return Integer.parseInt(readWord());
    }
    
    /**
     * Reads a long integer from standard input.
     */
    public static long readLong() {
        return Long.parseLong(readWord());
    }
    
    /**
     * Reads a double number from standard input.
     */
    public static double readDouble() {
        return Double.parseDouble(readWord());
    }
    
    /**
     * Reads a float number from standard input.
     */
    public static float readFloat() {
        return Float.parseFloat(readWord());
    }
    
    /**
     * Reads a character from standard input.
     */
    public static char readChar() {
        return readWord().charAt(0);
    }
}
