/*   @JUDGE_ID:   1705PZ   575   C */
#include <stdio.h>
#include <string.h>
#include <math.h>

int main(){
int i,length;
char string[100];
double table[33];
double answer;

for(i = 0;i < 33;i++)
	table[i] = pow(2,i + 1) - 1;

while(1){
	answer = 0;
	scanf("%s",string);
	lenigth = strlen(string);
	if(string[0] == '0' && string[1] == '\0')
		break;
	for(i = length - 1;i >= 0;i--)
		answer += (string[i] - '0') * table[length - i - 1];
	printf("%.0f\n",answer);
	}
return 0;
}
@END_OF_SOURCE_CODE
