#include<stdio.h>
#define N 100000
int main(){
  int Buf[N],RL=0,V=0,SV=0;
  int stack[100],st=0,i=1,j,m;
  char c,CBuf[N];
  Buf[0]=0;
  while(scanf("%c",&c)!=EOF){
   CBuf[i-1]=c;
    switch(c){
    case '/':
      Buf[i]=Buf[i-1]+1;
      break;
    case '_':
      Buf[i]=Buf[i-1];
      break;
    case '\\':
      Buf[i]=Buf[i-1]-1;
      break;
    }
    i++;
  }
  i--;  //iの数をBufとそろえる。
  for(j=0;j<i;j++){   
    if(CBuf[j]=='\\'){
      for(m=j+1;Buf[m]!=Buf[j]&&m<i;m++);
      if(m==i)continue;
      else{
	if(RL>m){
	  SV+=(m-j-1);
	}
	else {
	  stack[st]=SV;
	  st++;
	  V+=SV;
	  SV=m-j-1;
	  RL=m;
	}
      }
    }
  }
  V+=SV;
  stack[st]=SV;
  if(st!=0)printf("%d\n%d ",V,st);else printf("%d\n%d",V,st);
  for(i=1;i<=st;i++)if(i==st)printf("%d",stack[i]);else printf("%d ",stack[i]);
  printf("\n");
  return 0;
}

