def closest_valid_sum(A, B, X):
n, m = len(A), len(B)
i = 0
j = m - 1
best_sum = float('-inf')
while i < n and j >= 0:
current_sum = A[i] + B[j]
if current_sum > X:
j -= 1
else:
best_sum = max(best_sum, current_sum)
i += 1
return best_sum
ZGVmIGNsb3Nlc3RfdmFsaWRfc3VtKEEsIEIsIFgpOgogICAgbiwgbSA9IGxlbihBKSwgbGVuKEIpCiAgICAKICAgIGkgPSAwICAgICAgICAgCiAgICBqID0gbSAtIDEgICAgIAogICAgYmVzdF9zdW0gPSBmbG9hdCgnLWluZicpCiAgICAKICAgIHdoaWxlIGkgPCBuIGFuZCBqID49IDA6CiAgICAgICAgY3VycmVudF9zdW0gPSBBW2ldICsgQltqXQogICAgICAgIAogICAgICAgIGlmIGN1cnJlbnRfc3VtID4gWDoKICAgICAgICAgIAogICAgICAgICAgICBqIC09IDEKICAgICAgICBlbHNlOgogICAgICAgICAgCiAgICAgICAgICAgIGJlc3Rfc3VtID0gbWF4KGJlc3Rfc3VtLCBjdXJyZW50X3N1bSkKICAgICAgICAgICAgaSArPSAxCiAgICAgICAgICAgIAogICAgcmV0dXJuIGJlc3Rfc3Vt