#include <stdint.h>
#include <stdio.h>
static inline uint8_t rotl(const uint8_t x, int k) {
return (x << k) | (x >> (8 - k));
}
static uint8_t s[2];
void seed(const uint8_t s0, const uint8_t s1){
s[0] = s0;
s[1] = s1;
}
uint8_t next(void) {
const uint8_t s0 = s[0];
uint8_t s1 = s[1];
const uint8_t result = rotl(s0 + s1, a) + s0; //a
s1 ^= s0;
s[0] = rotl(s0, b) ^ s1 ^ (s1 << c); // b, c
s[1] = rotl(s1, d); // d
return result;
}
int main(void){
uint8_t s0 = 1;
uint8_t s1 = 3;
seed(s0, s1 + 1);
uint8_t r;
r = next();
printf("%u\n",r);
return 0;
}