아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

라디오

시간 제한1.5초메모리 제한512 MB

요약
주파수 1부터 n까지의 방송국이 켜지거나 꺼지며, 각 질의는 [l, r] 구간에서 켜진 두 주파수가 1이 아닌 공약수를 갖는지 묻습니다.
난이도

어려움10점 중 8점

유형
세그먼트 트리, 정수론, 해시맵
정답자
아직 제출이 없습니다

문제

크로아티아에는 nn개의 라디오 방송국이 있다. 각 방송국은 11부터 nn까지의 양의 정수로 표시되는 nn개의 주파수 중 하나를 사용할 권리를 가진다. 주파수가 이상적으로 정해지지 않아서, 여러 방송국이 동시에 방송하면 잡음이 생길 때가 있다. 정확히는, 주파수가 aa와 bb인 두 방송국이 동시에 방송할 때 gcd⁡(a,b)≠1\gcd(a, b) \ne 1이면 잡음이 생긴다. 청취자는 잡음을 싫어해서, 잡음이 들리면 다른 방송국으로 채널을 바꾼다.

이 문제를 해결하기 위해 방송국 운영자는 방송국의 동작을 시뮬레이션하는 프로그램을 요청했다. 프로그램은 두 가지 종류의 쿼리를 처리해야 한다.

  1. S x: 주파수 xx의 방송국이 방송 중이 아니면 방송을 시작한다. 이미 방송 중이면 방송을 멈춘다.
  2. C l r: 방송 중인 방송국 가운데 주파수 aa와 bb가 모두 [l,r][l, r]에 속하고 gcd⁡(a,b)≠1\gcd(a, b) \ne 1을 만족하는 쌍이 있는지 확인한다. 있으면 DA, 없으면 NE를 출력한다.

처음에는 방송 중인 방송국이 하나도 없다.

입력

첫 줄에는 양의 정수 nn과 qq가 주어진다 (1≤n≤1 000 0001 \le n \le 1\,000\,000, 1≤q≤200 0001 \le q \le 200\,000). 각각 방송국의 수(주파수의 수)와 쿼리의 수이다.

이어지는 qq개의 줄은 각각 하나의 쿼리를 나타낸다. 첫 번째 종류의 쿼리에서는 1≤x≤n1 \le x \le n이고, 두 번째 종류의 쿼리에서는 1≤l≤r≤n1 \le l \le r \le n이다.

출력

두 번째 종류의 쿼리에 대한 답을 입력 순서대로 한 줄에 하나씩 출력한다.

힌트

첫 번째 C 쿼리 시점에 방송 중인 방송국은 1, 2, 3이다. 이 수들은 서로소이므로 잡음이 생기지 않는다. 방송국 6이 방송을 시작하면 2, 3번 방송국과 잡음이 생긴다. 2번 방송국이 방송을 멈춘 뒤에도 3번 방송국과의 잡음은 계속된다.

예제3

  1. 예제 1

    입력
    6 8
    S 1
    S 2
    S 3
    C 1 6
    S 6
    C 1 6
    S 2
    C 1 6
    
    예상 출력
    NE
    DA
    DA
    
  2. 예제 2

    입력
    11 6
    S 4
    S 10
    C 3 11
    C 2 7
    S 6
    C 2 7
    
    예상 출력
    DA
    NE
    DA
    
  3. 예제 3

    입력
    20 7
    S 10
    S 15
    S 3
    C 10 15
    S 10
    C 3 15
    C 3 10
    
    예상 출력
    DA
    DA
    NE