만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

지수 연산

시간 제한3초메모리 제한1024 MB

요약
2023으로 시작하는 변수 n개에 대해 x_i를 x_i의 x_j 제곱으로 바꾸는 연산을 처리하고, 두 변수의 크기를 비교하여 답합니다.
난이도

보통10점 중 6점

유형
수학
정답자
아직 제출이 없습니다

문제

Zoe는 여가 시간에 온라인 계산기를 만든다. 안타깝게도 이 계산기가 지난주 서비스 거부 공격(DoS)을 받았다. 공격자는 정수 변수를 많이 만들고, 변수끼리 거듭제곱을 계산하며, 많은 비교를 시도했다. 정수가 너무 커져서 서버가 처리하지 못했고, 그 결과 서버가 다운되었다. Zoe는 문제를 고치기 전에, 공격자가 요청한 계산을 직접 수행해 보기로 했다.

정수 변수 x_1,x_2,…,x_nx\_1, x\_2, \dots, x\_n이 nn개 있다. 처음에 모든 변수의 값은 20232023이다. 다음 두 종류의 명령을 mm개 수행해야 한다.

  • 연산: "! ii jj" 형태이며 i≠ji \neq j이다. x_ix\_i의 값을 x_ix_jx\_i^{x\_j}로 바꾼다.
  • 질의: "? ii jj" 형태이며 i≠ji \neq j이다. x_ix\_i가 x_jx\_j보다 크면 '>', 같으면 '=', 작으면 '<'을 출력한다.

첫 번째 예시를 살펴보자. 5번의 연산을 마친 후 변수의 값은 다음과 같다.

\begin{align\*} x\_1&=\left({2023}^{2023}\right)^{{2023}^{2023}},& x\_2&=\left({2023}^{{2023}^{2023}}\right)^{2023},& x\_3&={2023},& x\_4&={2023}^{2023}. \end{align\*}

입력

입력은 다음과 같이 주어진다.

  • 첫 줄에 정수 nn과 mm (2≤n≤10002 \leq n \leq 1000, 1≤m≤10001 \leq m \leq 1000)이 주어진다. 변수의 개수와 명령의 개수이다.
  • 이어서 mm개의 줄에 문자 cc ('!' 또는 '?')와 정수 ii, jj (1≤i,j≤n1 \leq i, j \leq n, i≠ji \neq j)가 한 줄에 하나씩 주어진다.

출력

입력에 있는 각 질의마다 답을 출력한다.

예제2

  1. 예제 1

    입력
    4 8
    ! 1 4
    ! 2 1
    ! 4 3
    ! 1 4
    ! 2 3
    ? 3 4
    ? 2 4
    ? 2 1
    
    예상 출력
    <
    >
    =
    
  2. 예제 2

    입력
    4 9
    ! 2 4
    ! 1 2
    ? 3 1
    ? 1 2
    ! 2 3
    ? 1 2
    ! 1 3
    ! 3 2
    ? 1 3
    
    예상 출력
    <
    >
    >
    <