output_description: Print the resulting string.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      S
      Q
      Query_1
      :
      Query_Q
      
  
  In the 3-rd through the (Q+2)-th lines, Query_i is one of the following:
  
      
      
      1
      
  
  which means T_i = 1, and:
  
      
      
      2 F_i C_i
      
  
  which means T_i = 2.
attempt: import glob
  
  
  # 問題ごとのディレクトリのトップからの相対パス
  REL_PATH = "ABC\\158\\D"
  
  # テスト用ファイル置き場のトップ
  TOP_PATH = "C:\\AtCoder"
  
  
  class Common:
  
      problem = []
      index = 0
  
      def __init__(self, rel_path):
          self.rel_path = rel_path
  
      def initialize(self, path):
          file = open(path)
          self.problem = file.readlines()
          self.index = 0
          return
  
      def input_data(self):
          try:
              IS_TEST
              self.index += 1
              return self.problem[self.index - 1]
  
          except NameError:
              return input()
  
      def resolve(self):
          pass
  
      def exec_resolve(self):
          try:
              IS_TEST
              for path in glob.glob(TOP_PATH + "\\" + self.rel_path + "/*.txt"):
                  print("Test: " + path)
                  self.initialize(path)
                  self.resolve()
                  print("\n\n")
          except NameError:
              self.resolve()
  
  
  class Solver(Common):
  
      def resolve(self):
  
          S = self.input_data().split()[0]
          Q = int(self.input_data())
          query = []
  
          zengo = True
          add_first = ""
          add_last = ""
  
          for i in range(Q):
              tmp = [j for j in self.input_data().split()]
              if tmp[0] == "1":
                  query.append([1])
              else:
                  query.append([2, int(tmp[1]), tmp[2]])
  
          for q in query:
              if q[0] == 1:
                  zengo = not zengo
              else:
                  if zengo:
                      if q[1] == 1:
                          add_first = q[2] + add_first
                      else:
                          add_last = add_last + q[2]
                  else:
                      if q[1] == 2:
                          add_first = q[2] + add_first
                      else:
                          add_last = add_last + q[2]
  
          result = add_first + S + add_last
          if zengo:
              print(result)
          else:
              print(result[::-1])
  
  
  solver = Solver(REL_PATH)
  solver.exec_resolve()
  
problem_description: Statement
  
  Takahashi has a string S consisting of lowercase English letters.
  
  Starting with this string, he will produce a new one in the procedure given as
  follows.
  
  The procedure consists of Q operations. In Operation i (1 \leq i \leq Q), an
  integer T_i is provided, which means the following:
  
    * If T_i = 1: reverse the string S.
  
    * If T_i = 2: An integer F_i and a lowercase English letter C_i are additionally provided.
  
      * If F_i = 1 : Add C_i to the beginning of the string S.
      * If F_i = 2 : Add C_i to the end of the string S.
  
  Help Takahashi by finding the final string that results from the procedure.
samples: [{"input": "a\n    4\n    2 1 p\n    1\n    2 2 c\n    1", "output": "cpa\n    \n\nThere will be Q = 4 operations. Initially, S is `a`.\n\n  * Operation 1: Add `p` at the beginning of S. S becomes `pa`.\n\n  * Operation 2: Reverse S. S becomes `ap`.\n\n  * Operation 3: Add `c` at the end of S. S becomes `apc`.\n\n  * Operation 4: Reverse S. S becomes `cpa`.\n\nThus, the resulting string is `cpa`.\n\n* * *"}, {"input": "a\n    6\n    2 2 a\n    2 1 b\n    1\n    2 2 c\n    1\n    1", "output": "aabc\n    \n\nThere will be Q = 6 operations. Initially, S is `a`.\n\n  * Operation 1: S becomes `aa`.\n\n  * Operation 2: S becomes `baa`.\n\n  * Operation 3: S becomes `aab`.\n\n  * Operation 4: S becomes `aabc`.\n\n  * Operation 5: S becomes `cbaa`.\n\n  * Operation 6: S becomes `aabc`.\n\nThus, the resulting string is `aabc`.\n\n* * *"}, {"input": "y\n    1\n    2 1 x", "output": "xy"}]