>>702
#include <limits.h>
unsigned rrotate(unsigned x, int n) {
    static const unsigned width = sizeof(unsigned) * CHAR_BIT;
    return x << n % width | x >> (width - n % width);
}
unsigned lrotate(unsigned x, int n) {
    static const unsigned width = sizeof(unsigned) * CHAR_BIT;
    return x >> n % width | x << (width - n % width);
}