#include <bits/stdc++.h>
using namespace std;
char bb[111][111];
int in[111][111];
int main() {
  int n, m;
  cin >> n >> m;
  for (int i = 0; i < n; i++) scanf("%s", bb[i]);
  vector<pair<pair<int, int>, int>> stars;
  for (int i = 1; i < n - 1; i++) {
    for (int j = 1; j < m - 1; j++) {
      if (bb[i][j] != '*') continue;
      int l, r, u, d;
      l = r = i;
      u = d = j;
      for (int k = i; k < n; k++)
        if (bb[k][j] == '*')
          r = k;
        else
          break;
      for (int k = i; k >= 0; k--)
        if (bb[k][j] == '*')
          l = k;
        else
          break;
      for (int k = j; k < m; k++)
        if (bb[i][k] == '*')
          d = k;
        else
          break;
      for (int k = j; k >= 0; k--)
        if (bb[i][k] == '*')
          u = k;
        else
          break;
      int starLevel = min(min(r - i, i - l), min(d - j, j - u));
      if (starLevel) {
        for (int k = i - starLevel; k <= i + starLevel; k++) in[k][j] = 1;
        for (int k = j - starLevel; k <= j + starLevel; k++) in[i][k] = 1;
        stars.push_back({{i + 1, j + 1}, starLevel});
      }
    }
  }
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++)
      if ((bb[i][j] == '*' && in[i][j] == 0) ||
          (in[i][j] == 1 && bb[i][j] == '.'))
        return puts("-1");
  cout << stars.size() << endl;
  for (auto u : stars) {
    printf("%d %d %d\n", u.first.first, u.first.second, u.second);
  }
  return 0;
}
