The Free Meteor Association (FMA) has got a problem: as meteors are moving, the Universal Cosmic Descriptive Humorous Program (UCDHP) needs to add a special module that would analyze this movement. 

UCDHP stores some secret information about meteors as an *n* × *m* table with integers in its cells. The order of meteors in the Universe is changing. That's why the main UCDHP module receives the following queries:
 -  The query to swap two table rows; -  The query to swap two table columns; -  The query to obtain a secret number in a particular table cell. 
As the main UCDHP module is critical, writing the functional of working with the table has been commissioned to you.
The first line contains three space-separated integers *n*, *m* and *k* (1 ≤ *n*, *m* ≤ 1000, 1 ≤ *k* ≤ 500000) — the number of table columns and rows and the number of queries, correspondingly.

Next *n* lines contain *m* space-separated numbers each — the initial state of the table. Each number *p* in the table is an integer and satisfies the inequality 0 ≤ *p* ≤ 10<sup class="upper-index">6</sup>.

Next *k* lines contain queries in the format "*s*<sub class="lower-index">*i*</sub> *x*<sub class="lower-index">*i*</sub> *y*<sub class="lower-index">*i*</sub>", where *s*<sub class="lower-index">*i*</sub> is one of the characters "с", "r" or "g", and *x*<sub class="lower-index">*i*</sub>, *y*<sub class="lower-index">*i*</sub> are two integers.
 -  If *s*<sub class="lower-index">*i*</sub> = "c", then the current query is the query to swap columns with indexes *x*<sub class="lower-index">*i*</sub> and *y*<sub class="lower-index">*i*</sub> (1 ≤ *x*, *y* ≤ *m*, *x* ≠ *y*); -  If *s*<sub class="lower-index">*i*</sub> = "r", then the current query is the query to swap rows with indexes *x*<sub class="lower-index">*i*</sub> and *y*<sub class="lower-index">*i*</sub> (1 ≤ *x*, *y* ≤ *n*, *x* ≠ *y*); -  If *s*<sub class="lower-index">*i*</sub> = "g", then the current query is the query to obtain the number that located in the *x*<sub class="lower-index">*i*</sub>-th row and in the *y*<sub class="lower-index">*i*</sub>-th column (1 ≤ *x* ≤ *n*, 1 ≤ *y* ≤ *m*). 
The table rows are considered to be indexed from top to bottom from 1 to *n*, and the table columns — from left to right from 1 to *m*.


#include<bits/stdc++.h>
typedef long long ll ;
#define int ll 
#define mod 1000000007;

using namespace std ;

int modexp(int a,int b){
    int res=1;
    while(b>0){
        if(b&1)
            res=(res*a)%mod;
        a=(a*a)%mod;
        b=b>>1;    
    }
    return res;
}

signed main( ){
    ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

    int n,m,k;
    cin>>n>>m>>k;
    int a[n][m];
    for(int i=0;i<n;i++)
    	for(int j=0;j<m;j++)
    		cin>>a[i][j];
    		
    int r[n],c[m];
    
    for(int i=0;i<n;i++)
    	r[i]=i;
    for(int i=0;i<m;i++)
    	c[i]=i;	
    			
    while(k--){
    	char s;
    	int x,y;
    	cin>>s>>x>>y;
    	
    	if(s=='r')
    		swap(r[x-1],r[y-1]);
    	else if(s=='c')
    		swap(c[x-1],c[y-1]);
    	else if(s=='g'){
    		int X=r[x-1];
    		int Y=c[y-1];
    		cout<<a[X][Y]<<endl;
    		
    	}		
    }		

}   
// logic bn gya tha python ne hg diya







