import bisect
import sys

class SegmentTree:
    def __init__(self, data):
        self.n = len(data)
        self.tree = [[] for _ in range(4 * self.n)]  # Initialize with empty lists
        self.build(0, 0, self.n - 1, data)
    
    def build(self, node, l, r, data):
        if l == r:
            self.tree[node] = [data[l]]
            return
        mid = (l + r) // 2
        left_node = 2 * node + 1
        right_node = 2 * node + 2
        self.build(left_node, l, mid, data)
        self.build(right_node, mid + 1, r, data)
        # Merge the two sorted lists
        self.tree[node] = []
        i = j = 0
        left = self.tree[left_node]
        right = self.tree[right_node]
        len_left = len(left)
        len_right = len(right)
        while i < len_left and j < len_right:
            if left[i] < right[j]:
                self.tree[node].append(left[i])
                i += 1
            else:
                self.tree[node].append(right[j])
                j += 1
        self.tree[node].extend(left[i:])
        self.tree[node].extend(right[j:])
    
    def query(self, l, r, x):
        res = float('inf')
        def _query(node, node_l, node_r):
            nonlocal res
            if node_r < l or node_l > r:
                return
            if l <= node_l and node_r <= r:
                arr = self.tree[node]
                pos = bisect.bisect_left(arr, x)
                if pos < len(arr):
                    res = min(res, abs(arr[pos] - x))
                if pos > 0:
                    res = min(res, abs(arr[pos - 1] - x))
                return
            mid = (node_l + node_r) // 2
            _query(2 * node + 1, node_l, mid)
            _query(2 * node + 2, mid + 1, node_r)
        _query(0, 0, self.n - 1)
        return res

def main():
    input = sys.stdin.read
    data = input().split()
    ptr = 0
    N = int(data[ptr])
    ptr += 1
    X = list(map(int, data[ptr:ptr+N]))
    ptr += N
    st = SegmentTree(X)
    Q = int(data[ptr])
    ptr +=1
    for _ in range(Q):
        l = int(data[ptr]) -1
        r = int(data[ptr+1]) -1
        x = int(data[ptr+2])
        ptr +=3
        print(st.query(l, r, x))

if __name__ == "__main__":
    main()