class A{
  private int[] data = new int[10];
  private int position;  public synchronized int readData(){
     return data[0];
  }
  
  public synchronized void writeData(int i){
      
      data[(position++)%data.length]= i;
  } 
  
}
class Producer extends Thread{

A a;
public Producer(A a){
this.a = a;
start();
}

public void run(){
System.out.println(a.readData());
}
}class Consumer extends Thread{

A a;
public Consumer(A a){
this.a = a;
start();
}

public void run(){
a.writeData(new java.util.Random().nextInt());
}
}public class test{

public static void main(String[] args){
A a = new A();
new Producer(a);
new Producer(a);
new Consumer(a); }
}