import heapq
def combine(l1, l2):
for i in reversed(range(min(map(len, (l1, l2))))):
if l1[i] == l2[i]:
return l2[:(end := i + 1)] + list(heapq.merge(l1[end:], l2[end:]))
list_1 = [*range(10), 10, 11, 13, 15]
list_2 = [*range(10), 12, 14]
print(combine(list_1, list_2))
aW1wb3J0IGhlYXBxCgpkZWYgY29tYmluZShsMSwgbDIpOgogICAgZm9yIGkgaW4gcmV2ZXJzZWQocmFuZ2UobWluKG1hcChsZW4sIChsMSwgbDIpKSkpKToKICAgICAgICBpZiBsMVtpXSA9PSBsMltpXToKICAgICAgICAgICAgcmV0dXJuIGwyWzooZW5kIDo9IGkgKyAxKV0gKyBsaXN0KGhlYXBxLm1lcmdlKGwxW2VuZDpdLCBsMltlbmQ6XSkpCgpsaXN0XzEgPSBbKnJhbmdlKDEwKSwgMTAsIDExLCAxMywgMTVdCmxpc3RfMiA9IFsqcmFuZ2UoMTApLCAxMiwgMTRdCnByaW50KGNvbWJpbmUobGlzdF8xLCBsaXN0XzIpKQ==
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]