import java.net.*;
import java.io.*;
import java.util.*;

public class SocketServer {

 static StringBuffer buf;
 static Socket soketas;

 public static void main(String[] args) {
    try {
      BufferedReader BF = new BufferedReader(new InputStreamReader(System.in));
      System.out.println("---Iveskite porta: ");
      int portas = Integer.valueOf(BF.readLine()).intValue();
      
      ServerSocket socketas1 = new ServerSocket(portas);
      int c, prekyba;
      String prekes = ("1.Radijas 125 LT. 2.DVD 300 LT 3.TV 500LT");
      String siuntimas;
      while (true) {
         System.out.println("---Serveris laukia kliento---");
         soketas = socketas1.accept();
         System.out.println("---Klientas prisijunge---");
         
         BufferedInputStream bis = new BufferedInputStream(soketas.getInputStream());
         InputStreamReader isr = new InputStreamReader(bis);
         
         BufferedOutputStream bos = new BufferedOutputStream(soketas.getOutputStream());
         OutputStreamWriter osw = new OutputStreamWriter(bos);

         
         char Pirkimas = '1';
         do {
          do {
              buf = new StringBuffer();
              while((c = isr.read()) != 0) {
              buf.append((char) c); // joins
              }
              System.out.println("Gavome: " + buf);
              int meniu = Integer.valueOf(buf.toString()).intValue();
              switch (meniu){
              case 1:  siuntimas = prekes + (char) 0;osw.write(siuntimas);osw.flush(); break;
              case 2: 
              case 3:
              case 4:  siuntimas = "IKI" + (char) 0;osw.write(siuntimas);osw.flush();prekyba = 1; break;
              }
                     	  
              prekyba =0;
           } while (prekyba != 0);
        
           System.out.println("---Klientas atsijunge---");
        } while (Pirkimas != 0); 
         
         try {
            soketas.close();
         }
         catch (IOException e) {}
        
      }
    }
    catch (IOException e) {}
  }
}