#include <stdio.h>

int main(void) {
	int i;
	
	for(i = 1; i < 100000; ++i) {
		int expected = (i & -i);
		int actual = (int)(1U << __builtin_ctz((unsigned)i));
		if(expected != actual) printf("Does not work for %d {%d != %d}\n", i, expected, actual);
	}
	printf("rest all are working\n");
	return 0;
}
