import java.util.*;
public class  SignalSimulator {
 public static void main (String[] args) {
 if (args.length != 3) {
 System.out.println("使用方法: java SignalSimulator 車列への追加周期 車列の上限 信号の周期");
 System.out.println("使用例  : java SignalSimulator 1 100 30");
   }
 else {
 int period = 10000;
 int L = Integer.parseInt(args[0]);
 int M = Integer.parseInt(args[1]);
 int N = Integer.parseInt(args[2]);
 
 Queue<String> queue = new LinkedList<String>();
 for (int t = 0; t < period; t++) {
 int signal = t/N;
 if (t % N == 0) {
 if (signal % 2 == 0) System.out.println("\n信号が赤になりました。\n");
 if (signal % 2 == 1) System.out.println("\n信号が青になりました。\n");
  }

 if (t % L == 0) {
 Random rand = new Random();
 int car = rand.nextInt(4);
 if (car != 0) queue.offer("t");
 System.out.println("時刻" + t + ":車が車列に入りました。 車列:" + queue.size());
 }
 // 車の追加
 if (signal % 2 == 1) {
 System.out.println("時刻" + t + ":車が信号を通過しました。車列:" + queue.size()); queue.poll();
  }
 //信号青ならすすむ
 if (queue.size() == M) {
 System.out.println("車列が" + M + "台に到達しました。シュミレーションを終了します。"); break;
  }
     }
 }
    }
}