#include<bits/stdc++.h>
using namespace std;
const int N = 2e5;
#define fr(i,a,b) for(int i = a;i <= b; ++i)
#define nfr(i,a,b) for(int i = a;i >= b; --i)
#define less less1234567891
#define plus plus1234567891

inline void plus(int i,int j,int k){
   printf("+ %d %d %d\n",i,j,k);
}

inline void less(int i,int j,int k){
   printf("< %d %d %d\n",i,j,k);
}

int main(){
   // init for 1~2^30 in 3~33
   puts("6451");
  // freopen("ans.out","w",stdout);
   plus(0,1,165);
   fr(i,3,33){
      less(i,165,i);
      fr(j,4,i)plus(i,i,i);
   }
   // divide v[0] in 35~65 halves in 34, check in 66, vals in 67
   plus(0,3,0);
   nfr(i,30,0){
      plus(34,3+i,66);
      less(66,0,35+i);
      plus(2,35+i,67);
      fr(w,1,i)plus(67,67,67);
      plus(67,34,34);
   }
   // divide v[1] in 69~99 halves in 68, check in 100, vals in 101
   plus(1,3,1);
   nfr(i,30,0){
      plus(68,3+i,100);
      less(100,1,69+i);
      plus(2,69+i,101);
      fr(w,1,i)plus(101,101,101);
      plus(101,68,68);
   }
   // solve v[0] times v[1] in 102~162,val in 163
   fr(i,35,65)
      fr(j,69,99){
         plus(i,j,163);
         less(3,163,163);
         plus(163,i+j-2,i+j-2);
      }

   fr(i,102,162){
      fr(j,103,i)plus(i,i,i);
      plus(i,2,2);
   }
   return 0;
}
