#include <bits/stdc++.h>
using namespace std;
long long int _xor(long long int a, long long int b) { return a ^ b; }
long long int _and(long long int a, long long int b) { return a & b; }
long long int _or(long long int a, long long int b) { return a | b; }
long long int _not(long long int a) { return ~a; }
long long int ai[1000], pi[2005];
int main() {
  long long int b, c = 0, x, y, z, t, i, j, k, l1, l2, m, n, c1 = 0, c2 = 0, q,
                   f = 0;
  string str;
  cin >> str;
  map<long long int, long long int> mp;
  vector<long long int> vec1, vec2, vec3;
  for (i = 0; i < str.length(); i++) {
    if (str[i] == '(') {
      for (j = str.length() - 1; j >= 0; j--) {
        if (str[j] == ')' && mp[j] == 0 && j > i) {
          vec3.push_back(i + 1);
          vec3.push_back(j + 1);
          mp[j] = 1;
          break;
        }
      }
    }
  }
  if (vec3.size() > 0) {
    cout << 1 << "\n";
    cout << vec3.size() << "\n";
    sort(vec3.begin(), vec3.end());
    for (i = 0; i < vec3.size(); i++) cout << vec3[i] << " ";
  } else
    cout << 0;
  return 0;
}
