1#include <ctype.h>
2#include <stdlib.h>
3
4long long atoll(const char* s) {
5    long long n = 0;
6    int neg = 0;
7    while (isspace(*s))
8        s++;
9    switch (*s) {
10    case '-':
11        neg = 1;
12    case '+':
13        s++;
14    }
15    /* Compute n as a negative number to avoid overflow on LLONG_MIN */
16    while (isdigit(*s))
17        n = 10 * n - (*s++ - '0');
18    return neg ? n : -n;
19}
20