import java.net.Socket;
import java.util.StringTokenizer;
import java.io.DataInputStream;
import java.io.PrintStream;

class jFinger
{
        public static final int FINGER_PORT = 79;

        jFinger(String addr_string)
                {
                        String user = null, address = null;

                                //split string into user & address
                        StringTokenizer st = new StringTokenizer(addr_string, "@");
                        user = st.nextToken();
                        address = st.nextToken();
                        //System.out.println("User: "+user+"; Address: "+address);

                        //make finger connection

                        Socket s = null;
                        try
                                {
                                s = new Socket(address, FINGER_PORT);
                                DataInputStream sinstream = new DataInputStream(s.getInputStream());
                                PrintStream soutstream = new PrintStream(s.getOutputStream());

                                                //send user
                                soutstream.println(user);

                                                //read info
                                String data_line = sinstream.readLine();
                                while (data_line != null)
                                        {

                                                        //      display info
                                        System.out.println(data_line);
                                        data_line = sinstream.readLine();
                                        }
                                }
                        catch (Exception e)
                                {
                                System.out.println("Exception occurred during connection: " + e);
                                e.printStackTrace();
                                }
                        finally
                                {
                                try
                                        {
                                        if (s != null)
                                                s.close();
                                        }
                                catch (Exception e)
                                        {
                                        System.out.println("Exception while closing socket: " + e);
                                        e.printStackTrace();
                                        }
                                        
                                }//end finally

                }
        public static void main(String[] argv)
                {
                        //System.out.println(argv.length);
                        if (argv.length != 1)
                                {
                                System.out.println("Usage: jfinger user@host");
                                System.exit(0);
                                }
                        //System.out.println("Fingering " + argv[0]);

                        jFinger jf = new jFinger(argv[0]);
                        
                }
}
