CSES - Ruudukko
  • Time limit: 1.50 s
  • Memory limit: 128 MB

Ruudukon koko on k×kk \times k ruutua, ja jokainen ruutu on aluksi valkoinen. Ruutujen (y1,x1)(y_1,x_1) ja (y2,x2)(y_2,x_2) etäisyys on y1y2+x1x2|y_1-y_2|+|x_1-x_2|.

Tehtäväsi on toteuttaa seuraavat operaatiot:

  1. muuta ruudun (y,x)(y,x) väri valkoisesta mustaksi
  2. laske etäisyys ruudusta (y,x)(y,x) lähimpään mustaan ruutuun

Syöte

Syötteessä on ensin kaksi kokonaislukua kk ja nn: ruudukon koko ja operaatioiden määrä.

Tämän jälkeen syötteessä on nn riviä, jotka kuvaavat operaatiot. Jokaisella rivillä on kolme lukua tt, yy ja xx.

Jos t=1t=1, on kyseessä tyypin 1 operaatio, joka muuttaa ruudun (y,x)(y,x) mustaksi. Voit olettaa, että ruutu (y,x)(y,x) on valkoinen ennen operaatiota.

Jos t=2t=2, on kyseessä tyypin 2 operaatio, jossa täytyy laskea etäisyys ruudusta (y,x)(y,x) lähimpään mustaan ruutuun.

Ensimmäinen operaatioista on aina tyypin 1 operaatio.

Tuloste

Tulosta jokaisen tyypin 2 operaation vastaus omalle rivilleen.

Rajat

  • 1k10001 \le k \le 1000
  • 1n1051 \le n \le 10^5
  • 1y,xk1 \le y,x \le k

Esimerkki

Syöte:

4 5
1 2 2
2 2 2
2 4 4
1 3 4
2 4 4

Tuloste:

0
4
1