In the official NumPy documentation,
numpy.random.randint has an exclusive second argument.
random.randint(low, high=None, size=None, dtype=int)
Return random integers from low (inclusive) to high (exclusive).
Then, I thought random.randint(1, 5) returns values 1, 2, 3, or 4,
but it actually gives values among 1, 2, 3, 4, and 5.
What went wrong?