#include <bits/stdc++.h>
using namespace std;
char a[101][101];
int f[101][101];
struct ans {
  int chang, kuan, w;
} s[10005];
int main() {
  int n, m, i, j, k, ans = 0;
  int r, l, u, d, min1, cnt = 0;
  cin >> n >> m;
  for (i = 1; i <= n; ++i)
    for (j = 1; j <= m; ++j) {
      cin >> a[i][j];
      if (a[i][j] == '*') f[i][j] = 1;
    }
  for (i = 1; i <= n; ++i) {
    for (j = 1; j <= m; ++j) {
      if (a[i][j] == '*') {
        r = j;
        while (a[i][r + 1] == '*') ++r;
        r = r - j;
        l = j;
        while (a[i][l - 1] == '*') --l;
        l = j - l;
        u = i;
        while (a[u - 1][j] == '*') --u;
        u = i - u;
        d = i;
        while (a[d + 1][j] == '*') ++d;
        d = d - i;
        min1 = min(r, l);
        min1 = min(min1, u);
        min1 = min(min1, d);
        if (min1 > 0) {
          s[++cnt].chang = i;
          s[cnt].kuan = j;
          s[cnt].w = min1;
          for (k = 1; k <= min1; ++k) f[i][j + k] = 0;
          for (k = 1; k <= min1; ++k) f[i][j - k] = 0;
          for (k = 1; k <= min1; ++k) f[i + k][j] = 0;
          for (k = 1; k <= min1; ++k) f[i - k][j] = 0;
          f[i][j] = 0;
        }
      }
    }
  }
  for (i = 1; i <= n; ++i)
    for (j = 1; j <= m; ++j) {
      if (f[i][j] == 1) {
        cout << "-1" << endl;
        return 0;
      }
    }
  cout << cnt << endl;
  for (i = 1; i <= cnt; ++i)
    cout << s[i].chang << ' ' << s[i].kuan << ' ' << s[i].w << endl;
  return 0;
}
