#include <bits/stdc++.h>
using namespace std;
void there_are_fates_worse_than_death() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
}
string s, t;
int mem[2000][2000];
int dp(int i, int j) {
  if (i == s.size() && j == t.size()) return 0;
  if (i > s.size() || j > t.size()) return 1e7 + 1;
  if (mem[i][j] != -1) return mem[i][j];
  mem[i][j] = dp(i, j + 1) + 1;
  mem[i][j] = min(mem[i][j], dp(i + 1, j) + 1);
  if (i < s.size() && j < t.size() && s[i] != t[j])
    mem[i][j] = min(mem[i][j], dp(i + 1, j + 1) + 1);
  else
    mem[i][j] = min(mem[i][j], dp(i + 1, j + 1));
  return mem[i][j];
}
void build(int i, int j, int idx) {
  if (i == s.size() && j == t.size()) return;
  if (dp(i, j) == dp(i, j + 1) + 1) {
    cout << "INSERT " << idx << " " << t[j] << endl;
    build(i, j + 1, idx + 1);
  } else if ((dp(i, j) == dp(i + 1, j + 1) + (s[i] != t[j]))) {
    if (s[i] != t[j]) cout << "REPLACE " << idx << " " << t[j] << endl;
    build(i + 1, j + 1, idx + 1);
  } else {
    cout << "DELETE " << idx << endl;
    build(i + 1, j, idx);
  }
}
int main() {
  there_are_fates_worse_than_death();
  memset(mem, -1, sizeof(mem));
  cin >> s >> t;
  cout << dp(0, 0) << endl;
  build(0, 0, 1);
}
