Spingi la scatola#10519

Spingi la scatola

1 secondo
512 megabyte
Difficile

Bessie e i suoi amici hanno inventato un nuovo gioco. Il gioco ha ricevuto un nome piuttosto descrittivo, anche se non troppo originale. Lo chiamano il gioco "Spingi la scatola per il fienile per metterla nel posto giusto, e non toccare il fieno" (se pensate che questo sia un nome troppo lungo, dovreste vedere alcuni dei nomi di variabili che le mucche usano quando scrivono programmi...)

Il fienile può essere rappresentato come una griglia rettangolare di dimensioni n \times m. Alcune celle della griglia contengono fieno. Bessie occupa una cella della griglia, e una grande scatola di legno occupa un'altra cella. Bessie e la scatola non possono trovarsi contemporaneamente nella stessa cella, e né Bessie né la scatola possono trovarsi in una cella che contiene fieno.

Bessie può muoversi in direzioni cardinali (nord, est, sud e ovest), a condizione che non si sposti in una cella contenente fieno. Se tenta di spostarsi in una cella occupata dalla scatola, la scatola verrà spinta di una cella nella stessa direzione, a condizione che la cella dall'altro lato della scatola sia libera. Se quella cella non è libera, Bessie non può effettuare tale mossa.

Una cella della griglia è designata come cella bersaglio. L'obiettivo di Bessie è spostare la scatola in quella cella.

Data una configurazione del fienile, comprese le posizioni iniziali di Bessie e della scatola, determinare se sia possibile spostare la scatola nella posizione bersaglio.

Input

La prima riga contiene tre numeri interi n, m~(1 \le n, m \le 1500) e q~(1 \le q \le 50000), dove è il numero di righe della griglia e è il numero di colonne.

Le successive righe descrivono la griglia. Ogni carattere denota una cella vuota '', una cella contenente fieno '#', la posizione iniziale di Bessie 'A' o la posizione iniziale della scatola 'B'.

Seguono righe, ciascuna contenente una coppia di numeri interi . Per ogni coppia, determinare se sia possibile spostare la scatola nella cella situata alla riga , colonna , partendo dalla configurazione iniziale del fienile. La riga superiore ha numero , e la colonna più a sinistra ha numero .

Output

Stampare righe, ciascuna contenente "YES" oppure "NO".

Esempi

Per spostare la scatola nella posizione , Bessie deve semplicemente percorrere celle verso destra.

Nessuna delle altre tre posizioni è raggiungibile.

Esempio 1

Loading
Loading