#include <stdio.h>

#define MAX 100000


int insert(int*, int );
struct search{
  int right;
  int left;
  int p;
  int key;
}

  search x,y;

int main(){
  int i,x,y,v,T[MAX];

  scanf("%d",&v);
  for ( i = 0;i < v;i++){
    printf("insert");
    scanf("%d",&T[i]);

    insert(T[i],T[i-1]);
  }
  printf("print\n");



}
int insert(int *T, search z){
    y = NULL; // x の親
  x = T[0];
  while (x ≠ NULL){
    y = x; // 親を設定
    if (z.key < x.key)
      x = x.left; // 左の子へ移動
    else 
      x = x.right; // 右の子へ移動
  }
  z.p = y;

  if( y == NULL) // T が空の場合
    T[0] = z;
  else if (z.key < y.key)
    y.left = z; // z を y の左の子にする
  else 
    y.right = z; // z を y の右の子にする
}