#include <bits/stdc++.h>
using namespace std;
char a[1010], b[1010];
struct point {
  int num, x, y;
} dp[1010][1010];
int x[2010], y[2010], num;
int main() {
  scanf("%s%s", a, b);
  int n = strlen(a), m = strlen(b);
  for (int i = 0; i <= n; i++) dp[i][0].num = i;
  for (int i = 0; i <= m; i++) dp[0][i].num = i;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++)
      if (a[i - 1] == b[j - 1]) {
        dp[i][j].num = dp[i - 1][j - 1].num;
        dp[i][j].x = i - 1;
        dp[i][j].y = j - 1;
      } else if (dp[i][j - 1].num <= dp[i - 1][j].num &&
                 dp[i][j - 1].num <= dp[i - 1][j - 1].num) {
        dp[i][j].num = dp[i][j - 1].num + 1;
        dp[i][j].x = i;
        dp[i][j].y = j - 1;
      } else if (dp[i - 1][j].num <= dp[i][j - 1].num &&
                 dp[i - 1][j].num <= dp[i - 1][j - 1].num) {
        dp[i][j].num = dp[i - 1][j].num + 1;
        dp[i][j].x = i - 1;
        dp[i][j].y = j;
      } else if (dp[i - 1][j - 1].num <= dp[i - 1][j].num &&
                 dp[i - 1][j - 1].num <= dp[i][j - 1].num) {
        dp[i][j].num = dp[i - 1][j - 1].num + 1;
        dp[i][j].x = i - 1;
        dp[i][j].y = j - 1;
      }
  printf("%d\n", dp[n][m].num);
  int nowx = n, nowy = m;
  while (nowx != 0 && nowy != 0) {
    num++;
    x[num] = nowx;
    y[num] = nowy;
    point temp = dp[nowx][nowy];
    nowx = temp.x;
    nowy = temp.y;
  }
  num++;
  x[num] = nowx;
  y[num] = nowy;
  int now = 0;
  if (x[num] == 0) {
    for (int i = 1; i <= y[num]; i++, now++)
      printf("INSERT %d %c\n", i, b[i - 1]);
  } else if (y[num] == 0) {
    for (int i = 1; i <= x[num]; i++, now--) printf("DELETE %d\n", i + now);
  }
  for (int i = num; i > 1; i--) {
    if (x[i] + 1 == x[i - 1] && y[i] + 1 == y[i - 1]) {
      if (a[x[i - 1] - 1] == b[y[i - 1] - 1]) continue;
      printf("REPLACE %d %c\n", x[i - 1] + now, b[y[i - 1] - 1]);
    }
    if (x[i] + 1 == x[i - 1] && y[i] == y[i - 1]) {
      printf("DELETE %d\n", x[i - 1] + now);
      now--;
    }
    if (x[i] == x[i - 1] && y[i] + 1 == y[i - 1]) {
      printf("INSERT %d %c\n", x[i] + 1 + now, b[y[i - 1] - 1]);
      now++;
    }
  }
}
