def main():

    import sys

    #input = sys.stdin.readline

    sys.setrecursionlimit(10000000)

    from collections import Counter, deque

    #from collections import defaultdict

    from itertools import combinations, permutations

    #from itertools import accumulate, product

    from bisect import bisect_left,bisect_right

    from math import floor, ceil

    #from operator import itemgetter



    #mod = 1000000007



    S = eval(input())

    Q = int(eval(input()))

    mae = ''

    usiro = ''

    s = True

    for _ in range(Q):

        q = list(input().split())

        if q[0]=='1':

            s = not s

        else:

            if q[1]=='1' and s:

                mae = q[2] + mae

            elif q[1]=='2' and s:

                usiro = usiro + q[2] 

            elif q[1]=='2' and not s:

                mae = q[2] + mae

            else:

                usiro = usiro + q[2]

    if s:

        print((mae+S+usiro))

    else:

        print((usiro[::-1]+S[::-1]+mae[::-1]))









if __name__ == '__main__':

    main()
def main():

    from sys import stdin

    #input = sys.stdin.readline

    #sys.setrecursionlimit(10000000)

    from collections import Counter, deque

    #from collections import defaultdict

    from itertools import combinations, permutations

    #from itertools import accumulate, product

    from bisect import bisect_left,bisect_right

    from math import floor, ceil

    #from operator import itemgetter



    #mod = 1000000007



    S = eval(input())

    Q = int(eval(input()))

    mae = ''

    usiro = ''

    s = True

    for _ in range(Q):

        q = stdin.readline()

        if q[0]=='1':

            s = not s

        else:

            if q[2]=='1' and s:

                mae = q[4] + mae

            elif q[2]=='2' and s:

                usiro = usiro + q[4] 

            elif q[2]=='2' and not s:

                mae = q[4] + mae

            else:

                usiro = usiro + q[4]

    if s:

        print((mae+S+usiro))

    else:

        print((usiro[::-1]+S[::-1]+mae[::-1]))





if __name__ == '__main__':

    main()

def main():
    import sys

    # input = sys.stdin.readline
    sys.setrecursionlimit(10000000)
    from collections import Counter, deque

    # from collections import defaultdict
    from itertools import combinations, permutations

    # from itertools import accumulate, product
    from bisect import bisect_left, bisect_right
    from math import floor, ceil

    # from operator import itemgetter
    # mod = 1000000007
    S = eval(input())
    Q = int(eval(input()))
    mae = ""
    usiro = ""
    s = True
    for _ in range(Q):
        q = list(input().split())
        if q[0] == "1":
            s = not s
        else:
            if q[1] == "1" and s:
                mae = q[2] + mae
            elif q[1] == "2" and s:
                usiro = usiro + q[2]
            elif q[1] == "2" and not s:
                mae = q[2] + mae
            else:
                usiro = usiro + q[2]
    if s:
        print((mae + S + usiro))
    else:
        print((usiro[::-1] + S[::-1] + mae[::-1]))


if __name__ == "__main__":
    main()

def main():
    from sys import stdin

    # input = sys.stdin.readline
    # sys.setrecursionlimit(10000000)
    from collections import Counter, deque

    # from collections import defaultdict
    from itertools import combinations, permutations

    # from itertools import accumulate, product
    from bisect import bisect_left, bisect_right
    from math import floor, ceil

    # from operator import itemgetter
    # mod = 1000000007
    S = eval(input())
    Q = int(eval(input()))
    mae = ""
    usiro = ""
    s = True
    for _ in range(Q):
        q = stdin.readline()
        if q[0] == "1":
            s = not s
        else:
            if q[2] == "1" and s:
                mae = q[4] + mae
            elif q[2] == "2" and s:
                usiro = usiro + q[4]
            elif q[2] == "2" and not s:
                mae = q[4] + mae
            else:
                usiro = usiro + q[4]
    if s:
        print((mae + S + usiro))
    else:
        print((usiro[::-1] + S[::-1] + mae[::-1]))


if __name__ == "__main__":
    main()

-    import sys +    from sys import stdin -    sys.setrecursionlimit(10000000) +    # sys.setrecursionlimit(10000000) -        q = list(input().split()) +        q = stdin.readline() -            if q[1] == "1" and s: -                mae = q[2] + mae -            elif q[1] == "2" and s: -                usiro = usiro + q[2] -            elif q[1] == "2" and not s: -                mae = q[2] + mae +            if q[2] == "1" and s: +                mae = q[4] + mae +            elif q[2] == "2" and s: +                usiro = usiro + q[4] +            elif q[2] == "2" and not s: +                mae = q[4] + mae -                usiro = usiro + q[2] +                usiro = usiro + q[4]