Pesca bizzarra

Pinco Panco e Panco Pinco hanno deciso di andare a pesca di ostrichette, ciascuno con la propria barca.
Poiché sanno solo andare in direzione Nord o in direzione Est, Pinco Panco e Panco Pinco decidono di dividere concettualmente la zona di pesca in quadrati adiacenti, con i lati nelle direzioni Nord-Sud e Est-Ovest, ossia disposti come in un foglio a quadretti, e numerati secondo le coordinate cartesiane intere.
Pertanto, ogni quadrato della griglia è univocamente identificato da una coppia di interi (I,J), ossia è collocato all’incrocio della colonna I e della riga J nella suddetta divisione (dove 1 <= I < 231 e 1 <= J < 231).

Ciascuna barca si muove soltanto in due direzioni, attraverso uno dei seguenti comandi numerici, che vengono inviati da una base a terra:

  • +D (=Nord) per spostarsi dal quadrato attualmente occupato (I,J) al quadrato (I, J+D) attraversando tutti i D-1 quadrati intermedi sulla colonna I, dove D è un intero positivo;
  • -D (=Est) per spostarsi dal quadrato attualmente occupato (I,J) al quadrato (I+D, J) attraversando tutti i D-1 quadrati intermedi sulla riga J, dove D è un intero positivo;

Una sequenza di comandi è quindi una sequenza di interi diversi da zero che termina con zero.

oii_2009_pesca

Pinco Panco e Panco Pinco utilizzano lo stesso quadrato A=(I0,J0) di partenza: i loro sistemi di navigazione sono sincronizzati e ogni barca riceve dalla base a terra la propria sequenza di comandi con la garanzia che i quadrati attraversati da entrambe le barche sono solo quello di partenza A e quello di arrivo B.
Soltanto alcuni dei quadrati sono pescosi e la base a terra è a conoscenza della loro posizione.

Entrambe le barche iniziano quindi il percorso dal quadrato di partenza A=(I0,J0) e ciascuna viene pilotata con la corrispondente sequenza di comandi.
Durante il percorso, ciascuna barca prende un’estremità di un’enorme rete da pesca (ebbene sì, Pinco Panco e Panco Pinco usano la rete per pescare le ostrichette!).
Le due estremità dovranno essere ricongiunte nel quadrato di arrivo B: in questo modo, verranno catturate tutte le ostrichette che si troveranno nella zona racchiusa dall’enorme rete.

Per esempio, siano I0=3 e J0=2.
Nella figura, i P=5 quadrati con un asterisco sono pescosi e i quadrati colorati indicano quelli percorsi delle due barche, con le sequenze di comandi +3 -3 +1 -2 +1 -2 0 e -2 -2 +1 -1 +1 -1 +1 -1 +2 0 (notare che possono esserci più numeri consecutivi dello stesso segno).
Risultano Q=3 quadrati pescosi nella zona delimitata dalla rete (quelli identificati da (4,5), (5,3) e (8,5)).

Aiuta Pinco Panco e Panco Pinco a calcolare il numero Q di quadrati pescosi che saranno inglobati dalla rete in questo modo.
In tale conteggio, vanno considerati anche i quadrati attraversati dalle due barche.

Dati in Input

Il file input.txt è composto da P+4 righe, dove P è il numero totale di quadrati pescosi.

  • La prima riga contiene un intero P per indicare che la zona di pesca contiene P quadrati pescosi.
  • La seconda riga contiene due interi I0 e J0 separati da uno spazio, per indicare che il quadrato di partenza è (I0, J0).
  • Le successive P righe contengono le coordinate dei P quadrati pescosi. Ogni riga è composta da due interi I e J separati da uno spazio (dove 1 <= I < 231 e 1 <= J < 231), per indicare che quel quadrato pescoso ha coordinate (I, J).
  • La penultima riga contiene una sequenza di interi diversi da 0 e terminata da uno 0, separati da uno spazio: rappresenta la prima sequenza di comandi (dove 0 è semplicemente utilizzato per indicare la fine della sequenza di interi).
  • L’ultima riga contiene anch’essa una sequenza di interi diversi da 0, terminata da zero, separati da uno spazio: rappresenta la seconda sequenza di comandi.

 

Dati in Output

Il file output.txt è composto da una sola riga contenente il numero Q di quadrati pescosi che sono inglobati dalla rete.

Assunzioni

  • 1 <= P <= 1000000
  • 1 <= I0 < 231
  • 1 <= J0 < 231
  • Una sequenza di comandi contiene M interi diversi da 0, per un qualche valore 2 <= M <= 1000000.

 

Esempi

input.txt output.txt
5
3 2
2 7
4 5
5 3
8 5
9 2
+3 -3 +1 -2 +1 -2 0
2 -2 +1 -1 +1 -1 +1 -1 +2 0
3