#include <cstring>
#include <iostream>
using namespace std;
int U1ToInt(const char *U1)
{
int ret=0,inv=(*U1=='1');
while(*(++U1)) ret=(ret<<1)+((*U1-'0')^inv);
return inv?-ret:ret;
}
int main()
{
cout<<U1ToInt("0111")<<endl;
cout<<U1ToInt("1111")<<endl;
cout<<U1ToInt("010")<<endl;
cout<<U1ToInt("110")<<endl;
cout<<U1ToInt("01")<<endl;
cout<<U1ToInt("11")<<endl;
return 0;
}
I2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBVMVRvSW50KGNvbnN0IGNoYXIgKlUxKQogIHsKICAgaW50IHJldD0wLGludj0oKlUxPT0nMScpOwogICB3aGlsZSgqKCsrVTEpKSByZXQ9KHJldDw8MSkrKCgqVTEtJzAnKV5pbnYpOwogICByZXR1cm4gaW52Py1yZXQ6cmV0OwogIH0KICAKaW50IG1haW4oKQogIHsKICAgY291dDw8VTFUb0ludCgiMDExMSIpPDxlbmRsOwogICBjb3V0PDxVMVRvSW50KCIxMTExIik8PGVuZGw7CiAgIGNvdXQ8PFUxVG9JbnQoIjAxMCIpPDxlbmRsOwogICBjb3V0PDxVMVRvSW50KCIxMTAiKTw8ZW5kbDsKICAgY291dDw8VTFUb0ludCgiMDEiKTw8ZW5kbDsKICAgY291dDw8VTFUb0ludCgiMTEiKTw8ZW5kbDsKICAgcmV0dXJuIDA7CiAgfQ==