There is a string *s*, consisting of capital Latin letters. Let's denote its current length as |*s*|. During one move it is allowed to apply one of the following operations to it: 
 -  INSERT *pos* *ch* — insert a letter *ch* in the string *s* in the position *pos* (1 ≤ *pos* ≤ |*s*| + 1, *A* ≤ *ch* ≤ *Z*). The letter *ch* becomes the *pos*-th symbol of the string *s*, at that the letters shift aside and the length of the string increases by 1. -  DELETE *pos* — delete a character number *pos* (1 ≤ *pos* ≤ |*s*|) from the string *s*. At that the letters shift together and the length of the string decreases by 1. -  REPLACE *pos* *ch* — the letter in the position *pos* of the line *s* is replaced by *ch* (1 ≤ *pos* ≤ |*s*|, *A* ≤ *ch* ≤ *Z*). At that the length of the string does not change. 
Your task is to find in which minimal number of moves one can get a *t* string from an *s* string. You should also find the sequence of actions leading to the required results.
The first line contains *s*, the second line contains *t*. The lines consist only of capital Latin letters, their lengths are positive numbers from 1 to 1000.
# https://www.youtube.com/watch?v=MiqoA-yF-0M&feature=youtu.be

s, t = input(), input()
n, m = len(s), len(t)
M, camino = [], []
for _ in range(n+1):
    M.append([0]*(m+1))
    camino.append([None] * (m + 1))
for i in range(1, n+1):
    M[i][0] = i
for j in range(1, m+1):
    M[0][j] = j
for i in range(1, n+1):
    for j in range(1, m+1):
        distintos = s[i-1] != t[j-1]
        m1, m2, m3 = M[i-1][j-1], M[i-1][j], M[i][j-1]
        if not distintos:
            M[i][j] = m1
            camino[i][j] = (1, distintos)
            continue
        minimo = min(m1, m2, m3)
        M[i][j] = minimo + 1
        if minimo == m3:
            camino[i][j] = (3, distintos)
        elif minimo == m1:
            camino[i][j] = (1, distintos)
        else:
            camino[i][j] = (2, distintos)
print(M[n][m])
instrucciones = []
i, j = n, m
while i*j != 0:
    if camino[i][j][0] == 1:
        if camino[i][j][1]:
            instrucciones.append("REPLACE " + str(j) + " " + t[j-1])
        i, j = i-1, j-1
    elif camino[i][j][0] == 2:
        if camino[i][j][1]:
            instrucciones.append("DELETE " + str(j))
        i -= 1
    else:
        if camino[i][j][1]:
            instrucciones.append("INSERT " + str(j) + " " + t[j-1])
        j -= 1
if i == 0:
    for k in range(j-1, -1, -1):
        instrucciones.append("INSERT " + str(k+1) + " " + t[k])
else:
    for k in range(i-1, -1, -1):
        instrucciones.append("DELETE " + str(1))
for instruccion in instrucciones[::-1]:
    print(instruccion)

  				 	 				 			         		 	