# coding: utf-8

import bisect

A,B,Q = map(int, input().split())
*S, = [int(input()) for _ in range(A)]
*T, = [int(input()) for _ in range(B)]
*X, = [int(input()) for _ in range(Q)]

for x in X:
    # 2分探索で、「現在地」と神社群の位置関係を探る
    sx = bisect.bisect(S, x)
    # 現在地から見て東側で最も近い神社
    try:
        se = S[sx]
    except:
        # 東側に存在しない場合は、神社群の中での最東
        se = S[-1]
    # 現在地から見て西側で最も近い神社
    try:
        sw = S[sx-1]
    except:
        # 西側に存在しない場合は、神社群の中での最西
        sw = S[0]

    tx = bisect.bisect(T, x)
    # 現在地から見て東側で最も近いお寺
    try:
        te = T[tx]
    except:
        # 東側に存在しない場合は、お寺群の中での最東
        te = T[-1]
    # 現在地から見て西側で最も近いお寺
    try:
        tw = T[tx-1]
    except:
        # 西側に存在しない場合は、お寺群の中での最西
        tw = T[0]

    # 候補 (8通り) をシミュレーション
    # 東神社 -> 東寺
    # 東寺 -> 東神社
    # 東神社 -> 西寺
    # 西寺 -> 東神社
    # 西神社 -> 東寺
    # 東寺 -> 西神社
    # 西神社 -> 西寺
    # 西寺 -> 西神社
    routes = []
    for s in [se, sw]:
        for t in [te, tw]:
            routes.append(abs(s - x)+abs(t - s))
            routes.append(abs(t - x)+abs(s - t))

    # 最小距離を選ぶ
    print(min(routes)) import bisect bisect A,B,Q = map(int, input().split()) A map(int, input().split()) map int input().split() ().split () input split B Q int(input()) for _ in range(A) for _ in range(A) _ range(A) range A for _ in range(A) int(input()) int input() input *S, = [int(input()) for _ in range(A)] *S S [int(input()) for _ in range(A)] int(input()) for _ in range(B) for _ in range(B) _ range(B) range B for _ in range(B) int(input()) int input() input *T, = [int(input()) for _ in range(B)] *T T [int(input()) for _ in range(B)] int(input()) for _ in range(Q) for _ in range(Q) _ range(Q) range Q for _ in range(Q) int(input()) int input() input *X, = [int(input()) for _ in range(Q)] *X X [int(input()) for _ in range(Q)] for x in X:
    # 2分探索で、「現在地」と神社群の位置関係を探る
    sx = bisect.bisect(S, x)
    # 現在地から見て東側で最も近い神社
    try:
        se = S[sx]
    except:
        # 東側に存在しない場合は、神社群の中での最東
        se = S[-1]
    # 現在地から見て西側で最も近い神社
    try:
        sw = S[sx-1]
    except:
        # 西側に存在しない場合は、神社群の中での最西
        sw = S[0]

    tx = bisect.bisect(T, x)
    # 現在地から見て東側で最も近いお寺
    try:
        te = T[tx]
    except:
        # 東側に存在しない場合は、お寺群の中での最東
        te = T[-1]
    # 現在地から見て西側で最も近いお寺
    try:
        tw = T[tx-1]
    except:
        # 西側に存在しない場合は、お寺群の中での最西
        tw = T[0]

    # 候補 (8通り) をシミュレーション
    # 東神社 -> 東寺
    # 東寺 -> 東神社
    # 東神社 -> 西寺
    # 西寺 -> 東神社
    # 西神社 -> 東寺
    # 東寺 -> 西神社
    # 西神社 -> 西寺
    # 西寺 -> 西神社
    routes = []
    for s in [se, sw]:
        for t in [te, tw]:
            routes.append(abs(s - x)+abs(t - s))
            routes.append(abs(t - x)+abs(s - t))

    # 最小距離を選ぶ
    print(min(routes)) x X sx = bisect.bisect(S, x) sx bisect.bisect(S, x) bisect.bisect bisect bisect S x try:
        se = S[sx]
    except:
        # 東側に存在しない場合は、神社群の中での最東
        se = S[-1]
    # 現在地から見て西側で最も近い神社
     except:
        # 東側に存在しない場合は、神社群の中での最東
        se = S[-1]
    # 現在地から見て西側で最も近い神社
     se = S[-1] se S[-1] S -1 se = S[sx] se S[sx] S sx try:
        sw = S[sx-1]
    except:
        # 西側に存在しない場合は、神社群の中での最西
        sw = S[0]

     except:
        # 西側に存在しない場合は、神社群の中での最西
        sw = S[0]

     sw = S[0] sw S[0] S 0 sw = S[sx-1] sw S[sx-1] S sx-1 sx 1 tx = bisect.bisect(T, x) tx bisect.bisect(T, x) bisect.bisect bisect bisect T x try:
        te = T[tx]
    except:
        # 東側に存在しない場合は、お寺群の中での最東
        te = T[-1]
    # 現在地から見て西側で最も近いお寺
     except:
        # 東側に存在しない場合は、お寺群の中での最東
        te = T[-1]
    # 現在地から見て西側で最も近いお寺
     te = T[-1] te T[-1] T -1 te = T[tx] te T[tx] T tx try:
        tw = T[tx-1]
    except:
        # 西側に存在しない場合は、お寺群の中での最西
        tw = T[0]

    # 候補 (8通り) をシミュレーション
    # 東神社 -> 東寺
    # 東寺 -> 東神社
    # 東神社 -> 西寺
    # 西寺 -> 東神社
    # 西神社 -> 東寺
    # 東寺 -> 西神社
    # 西神社 -> 西寺
    # 西寺 -> 西神社
     except:
        # 西側に存在しない場合は、お寺群の中での最西
        tw = T[0]

    # 候補 (8通り) をシミュレーション
    # 東神社 -> 東寺
    # 東寺 -> 東神社
    # 東神社 -> 西寺
    # 西寺 -> 東神社
    # 西神社 -> 東寺
    # 東寺 -> 西神社
    # 西神社 -> 西寺
    # 西寺 -> 西神社
     tw = T[0] tw T[0] T 0 tw = T[tx-1] tw T[tx-1] T tx-1 tx 1 routes = [] routes [] for s in [se, sw]:
        for t in [te, tw]:
            routes.append(abs(s - x)+abs(t - s))
            routes.append(abs(t - x)+abs(s - t))

    # 最小距離を選ぶ
     s [se, sw] se sw for t in [te, tw]:
            routes.append(abs(s - x)+abs(t - s))
            routes.append(abs(t - x)+abs(s - t))

    # 最小距離を選ぶ
     t [te, tw] te tw routes.append(abs(s - x)+abs(t - s)) routes.append routes append abs(s - x)+abs(t - s) abs(s - x) abs s - x s x abs(t - s) abs t - s t s routes.append(abs(t - x)+abs(s - t)) routes.append routes append abs(t - x)+abs(s - t) abs(t - x) abs t - x t x abs(s - t) abs s - t s t print(min(routes)) print min(routes) min routes routes = [] [] routes te = T[tx] T[tx] te sw = S[sx-1] S[sx-1] sw tw = T[tx-1] T[tx-1] tw tw = T[0] T[0] tw tx = bisect.bisect(T, x) bisect.bisect(T, x) tx sx = bisect.bisect(S, x) bisect.bisect(S, x) sx B,Q = map(int, input().split()) map(int, input().split()) B se = S[sx] S[sx] se A,B,Q = map(int, input().split()) map(int, input().split()) A sw = S[0] S[0] sw te = T[-1] T[-1] te Q = map(int, input().split()) map(int, input().split()) Q se = S[-1] S[-1] se
# coding: utf-8

import bisect

A,B,Q = map(int, input().split())
*S, = [int(input()) for _ in range(A)]
*T, = [int(input()) for _ in range(B)]
*X, = [int(input()) for _ in range(Q)]

for x in X:
    # 2分探索で、「現在地」と神社群の位置関係を探る
    sx = bisect.bisect(S, x)
    # 現在地から見て東側で最も近い神社
    try:
        se = S[sx]
    except:
        # 東側に存在しない場合は、神社群の中での最東
        se = S[-1]
    # 現在地から見て西側で最も近い神社
    try:
        sw = S[sx-1]
    except:
        # 西側に存在しない場合は、神社群の中での最西
        sw = S[0]

    tx = bisect.bisect(T, x)
    # 現在地から見て東側で最も近いお寺
    try:
        te = T[tx]
    except:
        # 東側に存在しない場合は、お寺群の中での最東
        te = T[-1]
    # 現在地から見て西側で最も近いお寺
    try:
        tw = T[tx-1]
    except:
        # 西側に存在しない場合は、お寺群の中での最西
        tw = T[0]

    # 候補 (8通り) をシミュレーション
    # 東神社 -> 東寺
    # 東寺 -> 東神社
    # 東神社 -> 西寺
    # 西寺 -> 東神社
    # 西神社 -> 東寺
    # 東寺 -> 西神社
    # 西神社 -> 西寺
    # 西寺 -> 西神社
    routes = []
    for s in [se, sw]:
        for t in [te, tw]:
            routes.append(abs(s - x)+abs(t - s))
            routes.append(abs(t - x)+abs(s - t))

    # 最小距離を選ぶ
    print(min(routes))