import std.stdio, std.string, std.conv, std.algorithm, std.array;

void main() {
	string S, T;
	S = readln().chomp();
	T = readln().chomp();
	string res = S.replace("?","z");
	const string ng = "UNRESTORABLE";
	bool flg = false;
	foreach(int i; 0..(to!(int)(S.length)-to!(int)(T.length)+1)) {
		bool f = true;
		foreach(int j; 0..to!(int)(T.length)) {
			if(S[i+j]!=T[j] && S[i+j]!='?') {
				f = false;
				break;
			}
		}
		if(f) {
			flg = true;
			res = min(res, (S[0..i] ~ T ~ S[(i+to!(int)(T.length))..to!int(S.length)]).replace("?","a"));
		}
	}
	if(flg) writeln(res);
	else writeln(ng);
}
