#include <bits/stdc++.h>
using namespace std;
void fast() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
}
int main() {
  fast();
  int n;
  char c;
  string ip;
  vector<int> v;
  deque<pair<int, int>> s;
  cin >> ip;
  n = ip.size();
  for (int i = 0; i < n; ++i) {
    c = ip[i];
    if (c == '(')
      v.push_back(0);
    else
      v.push_back(1);
  }
  for (int i = 0; i < n; ++i) {
    if (v[i] == 0) {
      s.push_back(make_pair(0, i));
    }
  }
  vector<int> ans1, ans0, fl;
  for (int i = 0; i < n && s.size(); ++i) {
    if (v[n - 1 - i] == 1) {
      if (s.front().second < n - 1 - i) {
        ans1.push_back(n - i);
        ans0.push_back(s.front().second + 1);
        s.pop_front();
      } else {
        while (s.size() != 0 && s.front().second >= n - 1 - i) {
          s.pop_back();
        }
      }
    } else {
      while (s.size() != 0 && s.front().second >= n - 1 - i) {
        s.pop_back();
      }
    }
  }
  for (int i = 0; i < ans0.size(); ++i) {
    fl.push_back(ans0[i]);
  }
  for (int i = 0; i < ans1.size(); ++i) {
    fl.push_back(ans1[ans1.size() - 1 - i]);
  }
  ans0.clear();
  ans1.clear();
  if (fl.size() != 0) {
    cout << 1 << "\n" << fl.size() << "\n";
    for (int k = 0; k < fl.size(); ++k) {
      cout << fl[k] << " ";
    }
    cout << "\n";
  } else
    cout << 0;
  fl.clear();
  return 0;
}
