Everyone is afraid of something. Someone is afraid of darkness, someone is afraid of heights, someone is afraid of Vinnie Jones (all of us are afraid of Vinnie Jones), someone is afraid of singing before eating something…
There are many fears, but the greatest among all for Mirko is choosing a land for planting strawberries. Mirko's land can be described as a matrix with ~N~ rows and ~M~ columns. Some of the fields in the matrix are suitable for planting strawberries and some are not – weeds grow there. Mirko is looking for rectangular parts of the land that are completely filled with fields suitable for strawberry planting. Those kind of rectangles are called suitable rectangles. Also, Mirko is interested in the potential value of all fields in the matrix. The potential value of each field in the matrix is defined as the number of suitable rectangles that contain that field.
Since Mirko has troubles facing his fears, he asks you to only calculate the sum of all the fields' potential values.
The first line contains two positive integers ~N~ and ~M~ ~(1 \le N, M \le 2\,000)~, dimensions of the land.
The next ~N~ lines contains ~M~ characters each, representing the landscape. Each character can be
. (dot) which represents a field suitable for planting or a
# which represents weeds.
Output the sum of all potential values of the matrix's fields.
In test cases worth ~20\%~ of the total points, it will hold that ~1 \le N, M \le 10~.
In test cases worth additional ~30\%~ of the total points, it will hold that ~1 \le N, M \le 300~.
Sample Input 1
2 3 .#. ..#
Sample Output 1
Explanation for Sample Output 1
The following matrix describes the potential values of the land's fields. The sum of all potential values is ~8~.
Sample Input 2
3 3 ... ... ...
Sample Output 2
Sample Input 3
3 4 ..#. #... ...#
Sample Output 3