Peyin Johnun otlağı, hər bir i~(1 \le i \le n), j~(1 \le j \le n) üçün cütləri ilə işarələnmiş böyük bir 2D şəbəkə kimi təsəvvür edilə bilər. Bu hüceyrələrin bəzilərində ot var.
Şəbəkə hüceyrələrinin boş olmayan alt çoxluğu "tarazlaşdırılmış" adlanır, əgər aşağıdakı şərtlər yerinə yetirilirsə:
- Alt çoxluqdakı bütün hüceyrələr ot ehtiva edir. - Alt çoxluq **4**-ə qoşulmuşdur. Bu, alt çoxluqdakı istənilən hüceyrədən digərinə bir yolun olması deməkdir və yolun ardıcıl iki hüceyrəsi üfüqi və ya şaquli qonşudur. - Əgər ('x[1]', **y**) və ('x[2]', **y**) ('x[1]' ≤ 'x[2]') hüceyrələri alt çoxluğa aiddirsə, onda 'x[1]' ≤ **x** ≤ 'x[2]' olan bütün (**x**, **y**) hüceyrələri də alt çoxluğa aiddir. - Əgər (**x**, 'y[1]') və (**x**, 'y[2]') ('y[1]' ≤ 'y[2]') hüceyrələri alt çoxluğa aiddirsə, onda 'y[1]' ≤ **y** ≤ 'y[2]' olan bütün (**x**, **y**) hüceyrələri də alt çoxluğa aiddir.
Tarazlaşdırılmış alt çoxluqların sayını 10^9 + 7 modulu ilə hesablayın.
Birinci sətir n~(1 \le n \le 150) ədədini ehtiva edir.
Növbəti sətirin hər biri simvoldan ibarət bir sətir ehtiva edir. Üstdən -ci sətirin -ci simvolu, əgər hüceyrə ot ehtiva edirsə, simvoluna, əks halda isə nöqtə simvoluna bərabərdir.
Tarazlaşdırılmış alt çoxluqların sayını 10^9 + 7 modulu ilə çıxarın.
Nümunə 1. Bu test üçün bütün -ə qoşulmuş alt çoxluqlar tarazlaşdırılmışdır.
G. .G .. .. GG .G .. G. GG .G G. GG GG
.., .., G., .G, .., .G, GG, G., G., GG, GG, .G, GGNümunə 2. Aşağıda, ikinci şərti (-ə qoşulma) təmin edən, lakin üçüncü şərti təmin etməyən bir alt çoxluq nümunəsi verilmişdir:
GG..
.G..
GG..
....Nümunə 1
Nümunə 2