#ifndef RANDOM_H
#define RANDOM_H

class Random final {
    constexpr static int N = 25;
    constexpr static int M = 7;

    int data[N];
    int index;

    void update();

public:
    Random(int seed);
    Random();

    int next();
    int next(int min, int inclusiveMax);
    float nextFloat();
    float nextFloat(float min, float exclusiveMax);
};

#endif