#include<bits/stdc++.h>
using namespace std;
#define ll long long int

const ll N = (1ll << 20), M = 20, K = 10001, OO = 1e18l, L = 18, MOD = 1e9 + 7, sumD = 6638449;

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;

template<typename K, typename V, typename Comp = less<K>>
using ordered_map = tree<K, V, Comp, rb_tree_tag, tree_order_statistics_node_update>;
template<typename K, typename Comp = less<K>>
using ordered_set = ordered_map<K, null_type, Comp>;

template<typename K, typename V, typename Comp = less_equal<K>>
using ordered_multimap = tree<K, V, Comp, rb_tree_tag, tree_order_statistics_node_update>;
template<typename K, typename Comp = less_equal<K>>
using ordered_multiset = ordered_multimap<K, null_type, Comp>;

void solve() {
    int n, m, q, x, y;
    cin >> n >> m >> q;
    string s;
    vector<set<int>> ones(n);
    ordered_multiset<int> os;

    for (int i = 0; i < n; i++) {
        cin >> s;
        s = '1' + s;
        reverse(s.begin(), s.end());
        for (int j = 0; j <= m; j++)
            if (s[j] == '1') ones[i].insert(j);
        os.insert(*ones[i].begin());
    }

    auto flip = [&](int i, int j) -> void {
        auto it = ones[i].find(j);
        if (it != ones[i].end()) {

            if (it == ones[i].begin()) {
                ones[i].erase(it);
                os.erase(os.find_by_order(os.order_of_key(j)));
                os.insert(*ones[i].begin());
            }else{
                ones[i].erase(j);
            }


        } else {

            auto mn = *ones[i].begin();
            if (mn > j) {
                os.erase(os.find_by_order(os.order_of_key(mn)));
                os.insert(j);
            }
            ones[i].insert(j);

        }
    };


    while (q--) {
        int t;
        cin >> t;
        if (t == 1) {
            cin >> x >> y;
            flip(x, y);
        } else {
            cin >> x;
            cout << os.size() - os.order_of_key(x) << "\n";
        }
    }
}

signed main() {
    ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
    ll t = 1;
    cin >> t;
    while (t--) { solve(); cout << "\n";}
}