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

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

차고

시간 제한4초메모리 제한256 MB

요약
점 갱신이 있는 수열에서 각 구간 질의마다 모든 원소의 최대공약수가 1보다 큰 부분 배열의 개수를 센다.
난이도

어려움10점 중 9점

유형
세그먼트 트리, 정수론, 수학, 동적 계획법
정답자
아직 제출이 없습니다

문제

슬라브코는 요즘 자연수 수열을 공부한다. 수열의 모든 원소의 최대공약수가 1보다 크면, 슬라브코는 그 수열을 흥미로운 수열이라고 부른다.

어제 슬라브코는 차고에서 자연수 NN개로 이루어진 수열을 찾았다. 너무 심심했던 슬라브코는 간단한 질의를 던지며 시간을 보내기로 했다. 질의는 다음 두 종류 중 하나다.

  1. 수열의 XX번째 값을 VV로 바꾼다.
  2. 수열의 구간 [L,R][L, R] 안에 들어 있는 흥미로운 연속 부분수열이 몇 개인지 구한다.

입력

첫째 줄에 수열의 원소 개수 NN과 질의 개수 QQ가 주어진다 (1≤N,Q≤1051 \le N, Q \le 10^5).

둘째 줄에 처음 수열을 이루는 자연수 AiA_i가 NN개 주어진다 (1≤Ai≤1091 \le A_i \le 10^9).

다음 QQ개의 줄에 질의가 한 줄에 하나씩 다음 형식으로 주어진다.

  • 줄의 첫 수는 1 또는 2이고, 질의의 종류를 나타낸다.
  • 종류가 1이면 두 수 XX와 VV가 이어서 주어진다 (1≤X≤N1 \le X \le N, 1≤V≤1091 \le V \le 10^9).
  • 종류가 2이면 구간의 왼쪽 끝 LL과 오른쪽 끝 RR이 이어서 주어진다 (1≤L≤R≤N1 \le L \le R \le N).

출력

종류가 2인 질의마다 흥미로운 연속 부분수열의 개수를 한 줄에 하나씩 출력한다.

힌트

첫 번째 예제에서 2번째 위치부터 5번째 위치까지의 구간은 (4, 3, 9, 1)이다. 이 구간 안의 흥미로운 연속 부분수열을 대괄호로 표시하면 [4] 3 9 1, 4 [3] 9 1, 4 3 [9] 1, 4 [3 9] 1 네 개다.

예제3

  1. 예제 1

    입력
    5 1
    8 4 3 9 1
    2 2 5
    
    예상 출력
    4
    
  2. 예제 2

    입력
    5 3
    2 3 6 4 1
    2 1 4
    1 3 1
    2 3 5
    
    예상 출력
    6
    1
    
  3. 예제 3

    입력
    4 3
    2 2 2 2
    2 1 4
    1 2 3
    2 1 4
    
    예상 출력
    10
    5