#include <bits/stdc++.h>
using namespace std;
char a[1005], b[1005];
int64_t dp[1005][1005];
int64_t cnt[1005][1005];
void print(int64_t n, int64_t m) {
  if (n < 0 || m < 0) return;
  if (cnt[n][m] == 1) cout << "REPLACE " << n << " " << b[m] << '\n';
  if (cnt[n][m] == 3) cout << "DELETE " << n << '\n';
  if (cnt[n][m] <= 1) print(n - 1, m - 1);
  if (cnt[n][m] == 2) print(n, m - 1);
  if (cnt[n][m] == 3) print(n - 1, m);
  if (cnt[n][m] == 2) cout << "INSERT " << m << " " << b[m] << '\n';
}
int32_t main() {
  {
    cin.tie(0);
    ios_base::sync_with_stdio(false);
  };
  cin >> a + 1 >> b + 1;
  int64_t n = strlen(a + 1), m = strlen(b + 1);
  for (int64_t i = 1; i <= m; i++) dp[0][i] = dp[0][i - 1] + 1, cnt[0][i] = 2;
  for (int64_t i = 1; i <= n; i++) dp[i][0] = dp[i - 1][0] + 1, cnt[i][0] = 3;
  for (int64_t i = 1; i <= n; i++)
    for (int64_t j = 1; j <= m; j++)
      if (a[i] == b[j])
        dp[i][j] = dp[i - 1][j - 1], cnt[i][j] = 0;
      else {
        int64_t p = dp[i - 1][j - 1] + 1, q = dp[i][j - 1] + 1,
                r = dp[i - 1][j] + 1;
        if (p <= q && p <= r)
          cnt[i][j] = 1, dp[i][j] = p;
        else if (q <= p && q <= r)
          cnt[i][j] = 2, dp[i][j] = q;
        else
          cnt[i][j] = 3, dp[i][j] = r;
      }
  cout << dp[n][m] << '\n';
  print(n, m);
  return 0;
}
