Nosaukums
Goļega pārdzīvojums (golegs)
Laika limits
1.00s
Atmiņas limits
32.0 MB
Grūtība
72%

Definīcija

Goļegs visu gadu gaidīja savu dzimšanas dienu, jo viņš grib dāvanas. Kad tā beidzot pienāca, viņam uzdāvināja masīvu a, kas sastāv no n naturāliem skaitļiem.

Segmentu, kas sākas pozīcijā l un beidzas pozīcijā r apzīmēsim ar (l,r). Tas atbilst masīva vērtībām a[l], a[l+1], ..., a[r].

Segmentu sauksim par garu, ja tā garums ir vismaz 2.

Divus segmentus (l1,r1) un (l2,r2) sauksim par līdzīgiem, ja to garumi vienādi, tie abi ir gari un ir kāds vesels skaitlis k, ar kuru a[l1+i]+k == a[l2+i] ar katru 0<=i<=r1-l1. Citiem vārdiem sakot, katrs pirmā segmenta elements atšķiras no attiecīgā otrā segmenta elementa par vienu un to pašu vērtību - k.

Goļegs par savu dāvanu kļuva ļoti dusmīgs, tāpēc viņš sāka bļaut. Viņš bļāva q reizes. Katra bļāviena pirmais lamuvārds ir skaitlis t.

Ja t = 1, tad tam seko lamuvārdi l, r, x. Goļega draugi izdomāja, ka viņš ar to bija domājis, lai masīva segmenta (l,r) katrai vērtībai pieskaita skaitli x.

Ja t = 2, tad tam seko lamuvārdi l, r. Tas nozīmē to, ka Goļegs izvēlas maksimāli daudz segmentu tā, ka (l,r) ir līdzīgs ar katru no izvēlētajiem segmentiem(li,ri) un nav tādu divu segmentu no izvēlētajiem, kas pārklātos. Jāņem vērā, ka Goļegs var izvēlēties arī doto segmentu (l,r).

Tu un Goļega draugi grib, lai Goļegs ātrāk nomierinātos un beigtu bļaut, tāpēc tev ir jāuzraksta programma, kas izpildīs aba veida bļāvienus.


Ievaddatu raksturojums

Pirmajā rindā ir dots skaitlis n(2<=n<=5000) - masīva elementu skaits.

Nākamajā rindā doti n skaitļi a(-10^13<=a<=10^13).

Trešajā rindā ir skaitlis q(2<=q<=5000).

Katrā nākamajā rindā ir skaitlis t.
Ja t=1, tad tajā pašā rindā ir doti skaitļi l,r,x.(1<=l<=r<=n),(-10^13<=x<=10^13).
Ja t=2, tad tajā pašā rindā ir doti skaitļi l,r.(1<=l<r<=n).


Izvaddatu raksturojums

Katrā rindiņā jāizvada atbilde uz bļāvieniem ar tipu t=2.
Ir garantēts, ka ir vismaz viens bļāviens ar tipu t=2.


Piezīmes

Pirmajā testa piemērā segments (3,4) ir līdzīgs ar segmentiem (1,2),(3,4),(5,6), tāpēc atbildē ir šie visi segmenti, jo tie nepārklājas. Tad masīva segmentam (3,4) pieskaita 2 un tas kļūst par (1,2,3,4,5,6), un šoreiz segments (2,3) ir līdzīgs ar visiem segmentiem garumā 2, tāpēc tiek izvēlēti pēc iespējas vairāk segmentu: (1,2),(3,4),(5,6).

Otrajā testa piemērā pēc masīva pārveidošanas tiek izvēlēti segmenti (1,3) un (5,7).

Trešajā testā pirmajā bļāvienā tiek izvēlēti segmenti (1,2) un (3,4), bet otrajā bļāvienā segments (1,3).

30 punkti ja 2<=n,q<=300.

70 punkti, ja 2<=n,q<=5000.


Paraugdati

Stdin
6
1 2 1 2 5 6
3
2 3 4
1 3 4 2
2 2 3
Stdout
3
3

Stdin
7
2 13 13 -3 -3 7 -1
4
1 1 2 1
1 4 5 6
1 2 6 -7
2 5 7
Stdout
2

Stdin
4
7 6 5 4
2
2 2 3
2 1 3
Stdout
2
1

Uzdevums tiek aizsargāts ar autortiesībām un tā kopēšana vai neatļauta izmantošana ir aizliegta.