import std.stdio;
import std.string;
import std.conv;
import std.bigint;
import std.typecons;
import std.algorithm;
import std.array;
import std.math;
import std.range;
 
void main() {
    auto S = readln.chomp;
    auto T = readln.chomp;
    auto minPos = -1;
    foreach (i; 0..S.length-T.length+1) {
        if (iota(T.length).all!(j => S[i+j] == T[j] || S[i+j] == '?')) {
            minPos = cast(int)i;
            break;
        }
    }
    if (minPos == -1) {
        writeln("UNRESTORABLE");
        return;
    }
    foreach (i; 0..minPos) {
        if (S[i] == '?') write("a");
        else write(S[i]);
    }
    write(T);
    foreach (i;minPos+T.length..S.length) {
        if (S[i] == '?') write("a");
        else write(S[i]);
    }
    writeln;
}
