import java.util.List;
import java.util.ArrayList;

class IncImpl implements Runnable {
  private Counter c;
  private boolean inc;
  public IncImpl(Counter c, boolean inc) {
    this.c = c;
    this.inc = inc;
  }
  public void run() {
    if (inc) {
      c.increment();
    } else {
      c.decrement();
    }
    System.out.println("Counter = " + c.value());
  }
}

class Counter {
  private long c = 0;
  public void increment() {
    c++;
  }
  public void decrement() {
    c--;
  }
  public long value() {
    return c;
  }
}

public class MainCounter {
  public static void main(String args[]) {
    Counter c = new Counter();
    List<Runnable> t = new ArrayList<Runnable>();
    for (int i = 0; i < 10; i++) {
      t.add(new IncImpl(c, i % 2 == 0));
    }
    for (int i = 0; i < t.size(); i++) {
      t.get(i).run();
    }
  }
}
