#define RSHIFT(i,n) (((i<0?1:0)*(~((unsigned)~0)>>n))|(i>>n))