{"code":"querysum2","name":"Query-Sum 2","description":"Cho dãy $a$ gồm $n$ phần tử là các số nguyên dương $a_{1}, a_{2}, \\ldots, a_{n}$. Cho $q$ thao tác thực hiện lần lượt, thao tác thứ $i$ sẽ có một trong hai loại như sau:\r\n- $1$ $u_{i}$ $v_{i}$ $x_{i}$: Tăng mỗi phần tử từ vị trí $u_{i}$ tới vị trí $v_{i}$ lên $x_{i}$ đơn vị.\r\n- $2$ $u_{i}$ $v_{i}$: Tính tổng các phần tử từ vị trí $u_{i}$ tới vị trí $v_{i}$.\r\n\r\n**Yêu cầu**: thực hiện tất cả lần lượt $q$ thao tác, và in ra kết quả của thao tác loại $2$.\r\n\r\n#### Input\r\n- Dòng thứ nhất gồm hai số nguyên dương $n, q$ $(1 \\leq n, q \\leq 10^{5})$.\r\n- Dòng thứ hai gồm $n$ số nguyên dương $a_{1}, a_{2}, \\ldots, a_{n}$ $(a_{i} \\leq 10^{9})$.\r\n- $q$ dòng tiếp theo, với dòng thứ $i$: số đầu tiên trên dòng là $1$ hoặc $2$. Số $1$ theo sau bởi ba số nguyên dương $u_{i}$, $v_{i}$ và $x_{i}$ $(1 \\leq u_{i} \\leq v_{i} \\leq n, 1 \\leq x_{i} \\leq 10^{9})$. Số $2$ theo sau bởi hai số nguyên dương $u_{i}$ và $v_{i}$ $(1 \\leq u_{i} \\leq v_{i} \\leq n)$. \r\n\r\n#### Output\r\n- Với thao tác loại $2$ có dạng $2$ $u$ $v$, in ra tổng các phần tử từ vị trí $u$ tới vị trí $v$ trên một dòng.\r\n\r\n#### Scoring\r\n- Subtask $1$ ($30\\%$ số điểm): $n, q \\leq 10^{3}$.\r\n- Subtask $2$ ($30\\%$ số điểm): mọi thao tác loại $1$ có $u = v$.\r\n- Subtask $3$ ($40\\%$ số điểm): không có rằng buộc gì thêm.\r\n\r\n#### Example\r\n!!! question \"Test 1\"\r\n    ???+ \"Input\"\r\n        ```sample\r\n        5 4\r\n        1 4 6 2 3\r\n        2 1 4\r\n        1 2 5 3\r\n        1 3 4 5\r\n        2 3 5 \r\n        ```\r\n    ???+ success \"Output\"\r\n        ```sample\r\n        13\r\n        30\r\n        ```","points":1600.0,"partial":true,"time_limit":1.0,"memory_limit":262144,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}