时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
            空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
             64bit IO Format: %lld
        
     
    题目描述
        
        
    
            
              你有一个字符串 S,字符串的下标为从 1 到 n 编号。你需要处理两种操作: 
   1. 
给定x,将字符串中的一段

翻转。具体的说,设操作后的串为S',则赋值

。保证这是一个合法的字串。 
  2. 给定y,输出

,即字符串 S 的第 y 个字符。 
  保证 

,即所有的第一种操作坐标严格不减。 
输入描述:
                                                    第一行三个整数 n,m,q.
第二行一个字符串 S.
以下q行,每行两个整数 op, pos, 代表操作的类型和下标。
                                                                            输出描述:
                                                    将所有第二类操作的答案连接为一个字符串,并输出这个字符串。
                                                                            
                        
                            示例1
                        
                        
                            
                                输入
                                复制
                                
                                
                                    5 2 5
abcde
2 1
1 1
2 1
1 4
2 5
                                 
                             
                            
                                                            
                                    说明
                                    
                                        第一次翻转前,字符串为"abcde"。
第一次翻转后,字符串为"bacde"。
第二次翻转后,字符串为"baced"。
                                     
                                 
                                                     
                     
                                                        备注:
                

保证存在至少一个第二类操作。