#include"stdio.h"
#include"math.h"
int main()
{
int n,m;
while(scanf("%d",&n),n)
{
int er[7],i;
for(i=0;n != 0;i++)
{
er[i]=n%2; n/=2;
if(er[i]==1)
{ m=pow(2.0,i);break;}
//pow的实参是double的,返回值也是
}
printf("%d\n",m);
}
//getchar();
getchar();
return 0;
}