#include <bits/stdc++.h>
using namespace std;
int dp[1005][1005];
int p1[1005][1005], p2[1005][1005], pos[1005][1005];
char op[1005][1005];
char a[60];
vector<int> x, y;
vector<string> st;
int main() {
  char s[1005], t[1005];
  st.clear();
  x.clear();
  y.clear();
  memset(p1, -1, sizeof(p1));
  memset(p2, -1, sizeof(p2));
  while (scanf("%s%s", s + 1, t + 1) > 0) {
    int len1 = strlen(s + 1), len2 = strlen(t + 1);
    memset(dp, 127, sizeof(dp));
    dp[0][0] = 0;
    for (int i = 1; i <= len1; i++) {
      dp[i][0] = i;
      p1[i][0] = i - 1;
      p2[i][1] = 0;
      op[i][0] = 'i';
    }
    for (int i = 1; i <= len2; i++) {
      dp[0][i] = i;
      p1[0][i] = 0;
      p2[0][i] = i - 1;
      op[0][i] = 'd';
    }
    for (int i = 1; i <= len1; i++)
      for (int j = 1; j <= len2; j++) {
        if (s[i] == t[j]) {
          if (dp[i - 1][j - 1] < dp[i][j]) {
            dp[i][j] = dp[i - 1][j - 1];
            p1[i][j] = i - 1;
            p2[i][j] = j - 1;
            op[i][j] = 0;
          }
        } else {
          if (dp[i - 1][j - 1] + 1 < dp[i][j]) {
            dp[i][j] = dp[i - 1][j - 1] + 1;
            p1[i][j] = i - 1;
            p2[i][j] = j - 1;
            op[i][j] = 'r';
          }
        }
        if (dp[i][j] > dp[i][j - 1] + 1) {
          dp[i][j] = dp[i][j - 1] + 1;
          p1[i][j] = i;
          p2[i][j] = j - 1;
          op[i][j] = 'd';
        }
        if (dp[i][j] > dp[i - 1][j] + 1) {
          dp[i][j] = dp[i - 1][j] + 1;
          p1[i][j] = i - 1;
          p2[i][j] = j;
          op[i][j] = 'i';
        }
      }
    cout << dp[len1][len2] << endl;
    int i = len1, j = len2;
    while (true) {
      if (dp[i][j] == dp[i - 1][j] + 1) {
        cout << "DELETE"
             << " " << i << " " << endl;
        i--;
      } else if (dp[i][j] == dp[i][j - 1] + 1) {
        cout << "INSERT"
             << " " << i + 1 << " " << t[j] << endl;
        j--;
      } else {
        if (dp[i][j] == dp[i - 1][j - 1] + 1)
          cout << "REPLACE"
               << " " << i << " " << t[j] << endl;
        i--;
        j--;
      }
      if (i == 0 && j == 0) break;
    }
  }
}
