OIG III - kal

// https://szkopul.edu.pl/problemset/problem/LWpMcXylQBa6wHzcJ6U7axzK/site/?key=statement
// OIG III (2 etap)

#include <iostream>

constexpr int sizik = 1000 * 1001;

int a_pref[sizik];
int b_pref[sizik];

int main() {
    std::ios_base::sync_with_stdio(0);
    std::cin.tie(0);
    std::cout.tie(0);

    int n, m;
    std::cin >> n >> m;

    for (int i = 1; i <= n; i++) {
        int a;
        std::cin >> a;
        a_pref[i] += a_pref[i - 1] + a;
    }

    for (int i = 1; i <= m; i++) {
        int a;
        std::cin >> a;
        b_pref[i] += b_pref[i - 1] + a;
    }

    int t;
    std::cin >> t;

    for (; t > 0; t--) {
        int dz, ms;
        std::cin >> dz >> ms;

        char c;
        std::cin >> c;

        int szk = dz;
        int p = 0, k = 0;
        int* szk_ptr = nullptr;

        if (c == 'A') {
            szk += a_pref[ms - 1];
            k = m;
            szk_ptr = b_pref;
        } else if (c == 'B') {
            szk += b_pref[ms - 1];
            k = n;
            szk_ptr = a_pref;
        } else {
            std::cerr << "??\n";
            return 0;
        }

        while (p < k) {
            int s = (p + k + 1) / 2;

            if (szk_ptr[s] < szk) {
                p = s;
            } else {
                k = s - 1;
            }
        }

        int ans1 = p + 1, ans2 = szk - szk_ptr[p];
        std::cout << ans2 << ' ' << ans1 << '\n';
    }

    return 0;
}