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.|

PRZEDZIALPUNKT - Drzewo przedziałowe przedział-punkt

Napisz program, który wczyta liczbę operacji, a następnie wykona operacje aktualizacji wartości na przedziale oraz zapytań o wartość w punkcie.

Input

W pierwszym wierszu 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]
  • 2 p – wypisz wartość elementu na pozycji p

Wszystkie indeksy a, b, p są w zakresie 0 ≤ a ≤ b ≤ 1 000 000.

Output

Dla każdego zapytania typu 2 wypisz wartość w osobnej linii.

Example

Input:
5
1 0 2 5
2 1
1 1 1 3
2 0
2 1
Output:
5
5
8

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.