Problem Specification

John loves to eat chocolate. Today when he was cleaning his room he found many very old bars of chocolate- so old that some of the pieces on each bar had spoiled. We know that each of the t chocolates are M pieces long and N pieces wide and we also know which pieces are spoiled and which aren't. John wants to eat the largest rectangular part of unspoiled chocolate from each chocolate bar, but needs help in figuring out how big that part is. A piece of chocolate which is spoiled is indicated by S and good pieces by C. In one chocolate there are M*N pieces. Each piece is of one unit area.

Input Specification:

The first line of the input contains t, the number of chocolate bars.
For each chocolate bar, the first line of input is M and N separated by a blank space.

The next M lines contains N symbols that mark whether that piece is spoiled or not. These N symbols will be continuous ie. without blank spaces in between.

In the end of each chocolate bar description there is a separating line.

Output Specification:

For each case there will be one line of output containing the area of the largest rectangle of unspoiled chocolate of that chocolate bar.

Sample Input:

``` 2 5 6 SCCCCC CCCCCC SSSCCC CCCCCC CCCCCC 5 5 SSSSS SSSSS SSSSS SSSSS SSSSS ```

Sample Output:

``` 15 0 ```

Constraints:

M,N<=1200 and t<=50

Problem Setter: Neesha Sinha

Languages: C,C++,Java

Time Limit: 1 Second(s)
Score: 100 Point(s)
Input File Limit: 50000 Bytes

Mode Judge

RankNameScore
1xyz0
2Ams0
3TIP0
4team420
5xyzz0
6asdasdasd0
7abcd0
8khankhan0
9Gabriel0
10gigel0