縦に H 行、横に W 列並べられた、合計 W × H のマス目があります。いくつかのマス目には印がついています。各マス目の印の状態を読み込み、印のついていないマス目だけからなる最大の長方形の面積を出力するプログラムを作成してください。
入力データは 1 行 W 文字から構成され、H 行が与えられます。たとえば以下のようなデータが与えられます。
..*....**. .......... **....***. ....*..... ..*....... ...**..... .*.*...... .......... ..**...... .*..*.....
入力データの一行が、一行のマス目を表現します。入力データの文字列のうち、. (ピリオド) は印のついていないマス目、* (アスタリスク) は印のついているマス目を示しています。入力データの文字列には、ピリオド、アスタリスク、改行以外の文字は含まれません。
上記の例では、下図の 0 で示される長方形が最大となります。
..*....**. .......... **....***. ....*00000 ..*..00000 ...**00000 .*.*.00000 .....00000 ..**.00000 .*..*00000
よって、35 と出力すれば正解になります。なお、すべてのマス目に印がついている場合には、0 を出力してください。
複数のデータセットが与えられます。各データセットはスペースで区切られた H と W からなる行から始まり、つづいて H × W の長方形が与えられます。H, W はともに 500 以下とします。
入力は2つの 0 を含む行で終わります。データセットの数は 20 を超えません。
各データセットごとに、最大の長方形の面積を1行に出力してください。
10 10 ...*....** .......... **....**.. ........*. ..*....... **........ .*........ .......... ....*..*** .*....*... 10 10 ..*....*.. .*.*...*.. *****..*.. *...*..*.. *...*..*.. .......... ****.*...* ..*..*...* .*...*...* ****..***. 2 3 ... ... 0 0
28 12 6