/* package whatever; // don't place package name! */
import java.util.Arrays;
import java.util.function.Function;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
t.apply(new int[] {1,2,2,2,5,7,10,20})
.apply(new int[] {1,1,2,3,6,6,15,21,21,22})
));
}
static int[] toyStore(int[]g,int[]b) {
int gl=g.length,bl=b.length,gp=0,bp=0,ap=0;
int[] a=new int[gl],s=new int[bl];
for (;bp<bl;) {
while(gp<gl&&g[gp]<=b[bp])a[ap++]=g[gp++];
s[bp++]=ap>0?a[--ap]:0;
}
return s;
}
static int[]t(int[]g,int[]b){int l=g.length,L=b.length,G=0,B=0,A=0;int[]a=new int[l],s=new int[L];for(;B<L;){while(G<l&&g[G]<=b[B])a[A++]=g[G++];s[B++]=A>0?a[--A]:0;}return s;}
static Function<int[],Function<int[],int[]>>t=
g->b->{int l=g.length,L=b.length,G=0,B=0,A=0;int[]a=new int[l],s=new int[L];for(;B<L;){while(G<l&&g[G]<=b[B])a[A++]=g[G++];s[B++]=A>0?a[--A]:0;}return s;};
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC5BcnJheXM7CmltcG9ydCBqYXZhLnV0aWwuZnVuY3Rpb24uRnVuY3Rpb247CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVN5c3RlbS5vdXQucHJpbnRsbihBcnJheXMudG9TdHJpbmcoCgkJCXQuYXBwbHkobmV3IGludFtdIHsxLDIsMiwyLDUsNywxMCwyMH0pCgkJCSAuYXBwbHkobmV3IGludFtdIHsxLDEsMiwzLDYsNiwxNSwyMSwyMSwyMn0pCgkJCSkpOwoJfQoJCglzdGF0aWMgaW50W10gdG95U3RvcmUoaW50W11nLGludFtdYikgewoJCWludCBnbD1nLmxlbmd0aCxibD1iLmxlbmd0aCxncD0wLGJwPTAsYXA9MDsKCQlpbnRbXSBhPW5ldyBpbnRbZ2xdLHM9bmV3IGludFtibF07CgkJZm9yICg7YnA8Ymw7KSB7CgkJCXdoaWxlKGdwPGdsJiZnW2dwXTw9YlticF0pYVthcCsrXT1nW2dwKytdOwoJCQlzW2JwKytdPWFwPjA/YVstLWFwXTowOwoJCX0KCQlyZXR1cm4gczsKCX0KCXN0YXRpYyBpbnRbXXQoaW50W11nLGludFtdYil7aW50IGw9Zy5sZW5ndGgsTD1iLmxlbmd0aCxHPTAsQj0wLEE9MDtpbnRbXWE9bmV3IGludFtsXSxzPW5ldyBpbnRbTF07Zm9yKDtCPEw7KXt3aGlsZShHPGwmJmdbR108PWJbQl0pYVtBKytdPWdbRysrXTtzW0IrK109QT4wP2FbLS1BXTowO31yZXR1cm4gczt9CgkKCXN0YXRpYyBGdW5jdGlvbjxpbnRbXSxGdW5jdGlvbjxpbnRbXSxpbnRbXT4+dD0gCgkgICAgICAgZy0+Yi0+e2ludCBsPWcubGVuZ3RoLEw9Yi5sZW5ndGgsRz0wLEI9MCxBPTA7aW50W11hPW5ldyBpbnRbbF0scz1uZXcgaW50W0xdO2Zvcig7QjxMOyl7d2hpbGUoRzxsJiZnW0ddPD1iW0JdKWFbQSsrXT1nW0crK107c1tCKytdPUE+MD9hWy0tQV06MDt9cmV0dXJuIHM7fTsKfQ==