#include //#include #define yes cout << "Yes" << '\n' #define no cout << "No" << '\n' #define YES cout << "YES" << '\n' #define NO cout << "NO" << '\n' #define OK cout << "OK" << '\n' #define NG cout << "NG" << '\n' #define Yes "Yes" #define No "No" #define Takahashi cout << "Takahashi" << '\n' #define Aoki cout << "Aoki" << '\n' #define minus cout << -1 << '\n' #define br cout << '\n' #define nl '\n' #define sadFace ":(" #define circle 'o' #define cross 'x' #define elif else if #define len(s) (int)s.length() #define sz size #define it insert #define mp make_pair #define pb push_back #define eb emplace_back #define ll long long #define ull unsigned long long #define ft first #define sd second #define ctz(x) __builtin_ctz(x); #define rep(i, n) for (int i = 0; i < (n); i++) #define rep1(i, n) for (int i = 1; i <= (n); i++) #define MIN(v) *min_element(all(v)) #define MAX(v) *max_element(all(v)) #define all(v) v.begin(), v.end() #define lla(v) rbegin(v), rend(v) #define vecTotal(v) accumulate(v.begin(), v.end(), 0) #define ruisekiwa(v, e) partial_sum(v.begin(), v.end(), back_inserter(e)) using namespace std; //using namespace atcoder; template T div_ceil(T a, T b) { // 切り上げ除算 return (a >= 0 ? (a + b - 1) : a) / b; } template T div_floor(T a, T b) { // 切り捨て除算 return a / b - (a % b < 0); } template void grid_input(vector> &v, T h, T w) { rep(i,h) { rep(j,w) { cin >> v[i][j]; } } } template void vin(vector &v, T n) { rep(i,n) cin >> v[i]; } int main() { ios::sync_with_stdio(false); cin.tie(0); int a,ans = 0; cin >> a; bool isSleep = false; vector v; rep1(i,a) { char c; cin >> c; if(!isSleep) { if(c == circle) { isSleep = true; ans++; v.pb(i); } } else { if(c == cross) { isSleep = false; } } } cout << ans << nl; for(int i : v) { cout << i << ' '; } br; }