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.dup;
    auto T = readln.chomp.dup;
    auto findResult = iota(S.length-T.length+1).retro
        .find!(i =>
                iota(T.length)
                .all!(j => S[i+j] == T[j] || S[i+j] == '?'));
    if (findResult.length == 0) {
        writeln("UNRESTORABLE");
        return;
    }
    auto minPos = findResult[0];
    S = S.replace("?", "a");
    S[minPos..minPos+T.length] = T;
    writeln(S);
}

