37f35687f7a28a3768a8db785ff31bb338d57c55172c83b9de2fddfbaee3a8fe
// 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;
}