class UnusualAdd {
public:
    int addAB(int a, int b) {
//         if(a == 0) return b;
//         if(b == 0) return a;
//         int on = a ^ b;
//         int add = ((a&b)<<1);
//         return addAB(on,add);
        while (b) {
			int c = a ^ b;
			b = (a&b) << 1;
			a = c;
		}
		return a;
    }
};