local nw = io.read("*n") local white, black = {}, {} for i = 1, nw do white[i] = io.read("*n") end local nb = io.read("*n") for i = 1, nb do black[i] = io.read("*n") end table.sort(white) table.sort(black) local function getnext(tbl, pos, val) for i = pos, #tbl do if(val < tbl[i]) then return i end end return nil end local maxcnt = 1 for i = 1, 2 do local nextBlack, val, wPos, bPos, cnt = true, 0, 1, 1, 1 if(i == 1) then val = white[1] wPos = 2 else val = black[1] bPos = 2 nextBlack = false end while(true) do if(nextBlack) then local bp = getnext(black, bPos, val) if(bp == nil) then break else val = black[bp] bPos = bp + 1 nextBlack = false cnt = cnt + 1 end else local wp = getnext(white, wPos, val) if(wp == nil) then break else val = white[wp] wPos = wp + 1 nextBlack = true cnt = cnt + 1 end end end maxcnt = math.max(maxcnt, cnt) end print(maxcnt)