비슷한 형태의 질문이 여러 개 주어지는 문제를 쿼리 문제라고 부른다. 쿼리 문제는 주어진 순서대로 쿼리를 실행해서 풀 수도 있고, 그것이 불가능하거나 조건이 맞는 경우에는 쿼리 순서를 임의로 바꿔서 더 편하게 풀 수도 있다.
이 문제에서는 길이 n인 수열과 q개의 쿼리가 주어진다. 쿼리는 두 종류다.
1 a b: 구간 [a,b]의 합을 출력한 뒤, 수열의 a번째 수와 b번째 수를 서로 바꾼다.
2 a b c d: 구간 [a,b]의 합에서 구간 [c,d]의 합을 뺀 값을 출력한다.
구간 [a,b]의 합은 수열의 a번째 수부터 b번째 수까지 모두 더한 값이다. 1번 쿼리는 수열을 바꾸므로, 쿼리는 입력에 주어진 순서대로 처리한다.