#include <bits/stdc++.h>
int main() {
  std::string s;
  std::cin >> s;
  std::vector<int> dp[s.size()];
  memset(dp, 0, sizeof(dp));
  for (int i = s.size() - 1, num = 0; i >= 0; i--) {
    if (i + 1 != s.size()) dp[i] = dp[i + 1];
    if (s[i] == ')') dp[i].push_back(i);
  }
  std::vector<int> num;
  int flag = 0;
  for (int i = 0; i < s.size(); i++) {
    if (num.size() == dp[i].size()) {
      if (dp[i].size() == 0) {
        std::cout << 0 << std::endl;
        flag = 1;
        break;
      } else {
        std::cout << 1 << std::endl;
        std::cout << num.size() + dp[i].size() << std::endl;
        for (int j = 0; j < num.size(); j++) {
          std::cout << num[j] + 1 << " ";
        }
        for (int j = dp[i].size() - 1; j >= 0; j--) {
          std::cout << dp[i][j] + 1 << " ";
        }
        std::cout << std::endl;
        flag = 1;
        break;
      }
    } else if (num.size() > dp[i].size()) {
      std::cout << 0 << std::endl;
      flag = 1;
      break;
    }
    if (s[i] == '(') num.push_back(i);
  }
  if (num.size() == 0 && !flag) std::cout << 0 << std::endl;
}
