Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

PRZEDZIALPRZEDZI - Drzewo przedziałowe przedział-przedział

Napisz program, który obsłuży operacje na tablicy liczb całkowitych. Program powinien umożliwiać dodawanie wartości na przedziale oraz obliczanie sumy elementów z dowolnego przedziału.

Input

W pierwszym wierszu znajduje się jedna liczba całkowita q (1 ≤ q ≤ 100 000) – liczba operacji.

W kolejnych q wierszach znajdują się operacje w jednym z dwóch formatów:

  • 1 a b x – dodaj wartość x do wszystkich elementów w przedziale [a, b]
  • 0 a b – wypisz sumę wszystkich elementów w przedziale [a, b]

Wszystkie indeksy a, b spełniają warunek 0 ≤ a ≤ b ≤ 1 000 000.

Output

Dla każdego zapytania typu 0 a b wypisz jedną liczbę w osobnej linii – sumę wartości z przedziału [a, b].

Example

Input:
4
1 0 2 3
0 0 2
1 1 3 2
0 0 3
Output:
9
15

Dodane przez:Marcin Kasprowicz
Data dodania:2025-04-16
Limit czasu wykonania programu:1s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM32-GCC MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.