program linch;
var
s:string;
d,k: real;
i,code:integer;
begin
read(s);
d:=0;
for i:=1 to length(s) do
begin
val(s[i],k,code);
d:=d+ k*exp((i-1)*ln(2));
end;
writeln(d);
end.
program linch;
var
s:string;
d,k: real;
i,code:integer;
begin
read(s);
d:=0;
for i:=1 to length(s) do
begin
val(s[i],k,code);
d:=d+ k*exp((i-1)*ln(2));
end;
writeln(d);
end.