// File: kernel.cpp
#include "loop_103.h"
#include <stdint.h>

static uint8_t *skip_ws(uint8_t *p, uint8_t *end) {
    while (p != end && (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t')) p++;
    return p;
}
static uint8_t *skip_wd(uint8_t *p, uint8_t *end) {
    while (p != end && *p != ' ' && *p != '\n' && *p != '\r' && *p != '\t') p++;
    return p;
}
extern "C" void inner_loop_103(struct loop_103_data *data) {
    uint8_t *p = data->p; uint8_t *end = data->end;
    int count = 0;
    p = skip_ws(p, end);
    while (p != end) { count++; p = skip_wd(p, end); p = skip_ws(p, end); }
    data->checksum = count;
}