#include <stdio.h>
int one = 8;
int f = 3;
int g = 4;
int s = 5;
int t = 6;
int u = 7;
int r[30];
int a[30];
int b[30];
int k[60];
void comp(int x, int y, int z) {
	printf("< %d %d %d\n", x, y, z);
}
void add(int x, int y, int z) {
	printf("+ %d %d %d\n", x, y, z);
}
void an(int x, int y, int z) {
	add(x, y, f);
	comp(one, f, z);
}
void no(int x) {
	comp(x, one, x);
}
void xo(int x, int y, int z) {
	comp(x, y, f);
	comp(y, x, g);
	add(f, g, z);
}
int main() {
	for (int i = 0; i < 30; i++) {
		r[i] = 8 + i;
		a[i] = 38 + i;
		b[i] = 68 + i;
	}
	for (int i = 0; i < 60; i++) {
		k[i] = 98 + i;
	}
	printf("14788\n");
	add(0, 1, 8);
	comp(2, 8, 8);
	for (int i = 1; i < 30; i++) {
		add(r[i - 1], r[i - 1], r[i]);
	}
	for (int i = 29; i >= 0; i--) {
		add(s, r[i], g);
		comp(0, g, f);
		no(f);
		add(f, a[i], a[i]);
		for (int j = 0; j < i; j++) {
			add(f, f, f);
		}
		if (i != 0)add(f, s, s);
	}
	for (int i = 29; i >= 0; i--) {
		add(t, r[i], g);
		comp(1, g, f);
		no(f);
		add(f, b[i], b[i]);
		for (int j = 0; j < i; j++) {
			add(f, f, f);
		}
		if (i != 0)add(f, t, t);
	}
	for (int i = 0; i < 30; i++) {
		for (int j = 0; j < 30; j++) {
			an(a[i], b[j], t);
			an(u, t, s);
			xo(u, t, t);
			an(t, k[i + j], u);
			xo(t, k[i + j], k[i + j]);
			add(u, s, u);
		}
		add(u, k[i + 30], k[i + 30]);
		if (i != 29)add(2, 2, u);
	}
	for (int i = 0; i < 60; i++) {
		for (int j = 0; j < i; j++) {
			add(k[i], k[i], k[i]);
		}
		add(k[i], 2, 2);
	}
}