//
import java.io.*;
import java.net.*;

public class Client {
  protected static final int PORT=45678;
    
  public static void erreur()
    {System.err.println("Usage: java Client ");
     System.exit(1);
    }
    public static void main(String[] args)
    {Socket s=null;
     if (args.length!=1) erreur();

     try
       {s=new Socket(args[0],PORT);
	DataInputStream sin=new DataInputStream(s.getInputStream());
	DataInputStream console=new DataInputStream(System.in);
	PrintStream sout=new PrintStream(s.getOutputStream());
	System.out.println("Connexion : "+ s.getInetAddress()+
			   " port : "+s.getPort());
    String ligne;
	while (true)
	 {System.out.print("?");
	  System.out.flush();
	  ligne=console.readLine();
	  sout.println(ligne);
	  ligne=sin.readLine();
	  if (ligne==null)
	    {System.out.println("Connexion stoppee par le serveur");
	     break;}
	  System.out.println("!"+ ligne);
	 }
	} // try
      catch (IOException e) {System.err.println(e);}
      finally
	      {try {if (s!=null) s.close();}
	       catch (IOException e2){}}
      } // main
    }