Masala D

Xotira 256 MB Vaqt 1000 ms
14

Chiziqlar

Tasavvur qiling, sizga \(n\) ta qator va \(m\) ta ustundan iborat maxsus jadval berilgan. Bu jadval faqatgina nuqta (`.`) va plyus (`+`) belgilaridan tashkil topgan.

Biz bu o'yinda chiziq deb quyidagiga aytamiz:

  • Yonalma-yon uzluksiz kelgan kamida ikki ta `+` belgisidan iborat har qanday qism-kesma chiziq hisoblanadi.
  • Chiziqlar gorizontal (yotig'iga) yoki vertikal (tikkasiga) bo'lishi mumkin.
  • Yolg'iz o'zi turgan bitta `+` belgisi chiziq hisoblanmaydi!
  • Katta uzluksiz `+` lar qatoridan bir nechta turli xil chiziqlar ajratib olish mumkin (masalan, `+++` qismidan jami 3 ta chiziq chiqadi).

Sizning vazifangiz berilgan $type$ (tur) raqamiga qarab quyidagi shartlardan birini bajarishdir:

  • 1-tur \((type = 1)\): Turli qatorlarda joylashgan ikkita gorizontal chiziqni tanlashning jami necha xil usuli borligini topish.
  • 2-tur \((type = 2)\): Turli ustunlarda joylashgan ikkita vertikal chiziqni tanlashning jami necha xil usuli borligini topish.

Kiruvchi ma'lumotlar:

Birinchi qatorda uchta butun son: \(type\)\(n\) va \(m\) beriladi.

  • \(type \in \{1,2\}\) faqat \(1\) yoki \(2\) bo'lishi mumkin.
  • \((1 \leq n, m \leq 1000,\ n \times m \leq 10^6)\)

Keyingi \(n\) ta qatorning har birida \(m\) tadan belgi (`.` yoki `+`) beriladi.


Chiquvchi ma'lumotlar:

Yagona butun son — barcha qoidalarga mos keluvchi chiziqlar juftligini tanlash usullari sonini chop eting.


Misollar
# input.txt output.txt
1
1 2 5
+++..
.++++
18
2
2 2 5
+++..
.++++
1