>>986
#include <string.h>
#include <ctype.h>
unsigned int from_radix_n(char* s, int n) {
    unsigned int x = 0, i, len;
    for (i = 0, len = strlen(s); i < len; i++) (x *= n) += isdigit(s[i]) ? s[i] - '0' : toupper(s[i]) - 'A' + 10;
    return x;
}