#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#define N 20000
#define pi M_PI
 
typedef struct Data{
    int area,pos;
}D;
D t[N];
int u[N],n,i,T,U,ans,A;
char str[N+1];
D X,Y;
 
void Dpush(D data){
    t[T++]=data;
}
 
D Dpop(){
    return t[--T];
}
 void push(int x){
     u[U++]=x;
 }
 int pop(){
     return u[--U];
 }
 void init(){
     ans=U=T=0;
 }
 D makeD(int x,int y){
     D res;
     res.area=x;
     res.pos=y;
     return res;
 }
int main(){
  init();
  scanf("%s",str);
  n=strlen(str);
   
  for(i=0;i<n;i++){
   
    if(str[i]=='/'){
      if(U==0)
    continue;
    A=pop();
    X=makeD(i-A,A);
    ans+=i-A;
    while(T>0){
      Y=Dpop();
      if(Y.pos<A){
        Dpush(Y);
        break;
      }
      X.area+=Y.area;
      if(Y.pos<X.pos)
        X.pos=Y.pos;
    }
    Dpush(X);
    }
    else if(str[i]=='\\'){
      push(i);
    }
  }
  printf("%d\n%d",ans,T);
  for(i=0;i<T;i++){
    printf(" ");
    printf("%d",t[i].area);
  }
  printf("\n");
  return 0;
}
