봄 여름 가을 겨울

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

요약
달마다 대회 수를 갱신하면서, 지난달의 계절에 따라 이번 달 계절이 정해지는 규칙 아래 특정 달의 계절을 답한다.
난이도

보통10점 중 6점

유형
세그먼트 트리, 배열, 구현, 시뮬레이션
정답자
아직 제출이 없습니다

문제

봄 여름 가을 겨울. 사계절을 결정하는 것은 사실 지구와 태양의 상대적인 운동이 아니다. 사계절을 결정하는 것은 다름이 아닌 한 달 동안 개최되는 알고리즘 대회의 수이다! 알고리즘 대회가 많이 열린다면 여름, 적게 열린다면 겨울이고, 그 사이는 봄 또는 가을이다.

그런데 계절 감각은 절대적이지 않다. 따라서 지난달보다 이번 달에 알고리즘 대회가 많이 개최되면 이번 달은 여름이고, 적게 개최되면 이번 달은 겨울이다. 지난달과 이번 달에 개최된 알고리즘 대회의 수가 같은 경우에는, 지난 달의 계절이 겨울 또는 봄이면 봄, 여름 또는 가을이면 가을이다.

당신은 최근 NN개월간 개최된 알고리즘 대회 수를 알고 있다. 해당 NN개월을 과거부터 순서대로 11번 달, ..., NN번 달이라 하자. 단, 11번 달은 항상 봄이다.

다음과 같은 쿼리가 QQ번 주어질 때, 쿼리들을 모두 처리해보자.

  • 1,i,x1 \\, i \\, x: 과거가 조작되어, ii번 달에 개최된 알고리즘 대회의 수가 xx로 변경된다. (1≤i≤N;(1\le i\le N; 1≤x≤109)1\le x\le 10^9)
  • 2,i2 \\, i: ii번 달의 계절을 구해 출력한다. (1≤i≤N)(1\le i\le N)

쿼리가 누적해서 수행됨에 유의하여라.

입력

첫째 줄에 NN과 QQ가 공백으로 구분되어 주어진다. (1≤N,Q≤200,000)(1\le N, Q\le 200\\,000)

둘째 줄에 A_1,⋯ ,A_NA\_1, \cdots, A\_N이 공백으로 구분되어 주어진다. A_iA\_i는 ii번 달에 개최된 알고리즘 대회 수를 나타낸다. (1≤A_i≤1091\le A\_i\le 10^9)

셋째 줄부터 QQ개의 줄에 걸쳐 쿼리가 주어진다.

 11번 쿼리의 경우, 1,i,x1 \\, i \\, x의 형식으로 주어진다. (1≤i≤N;(1\le i\le N; 1≤x≤109)1\le x\le 10^9)

 22번 쿼리의 경우, 2,i2 \\, i의 형식으로 주어진다. (1≤i≤N)(1\le i\le N)

 22번 쿼리가 한 개 이상 주어짐이 보장된다.

입력으로 주어지는 모든 수는 정수이다.

출력

22번 쿼리가 주어질 때마다, 쿼리의 답을 한 줄에 하나씩 순서대로 출력한다. 구체적으로, 쿼리의 답에 해당하는 계절이 봄이면 Spring, 여름이면 Summer, 가을이면 Autumn, 겨울이면 Winter를 출력한다.

예제2

  1. 예제 1

    입력
    3 4
    1 2 2
    2 2
    2 3
    1 1 3
    2 3
    
    예상 출력
    Summer
    Autumn
    Spring
    
  2. 예제 2

    입력
    2 1
    2 1
    2 2
    
    예상 출력
    Winter