Groups
Modular arithmetic is about working with remainders, but programming languages often return negative remainders, so always normalize with (a % MOD + MOD) % MOD.
Modular arithmetic is arithmetic with wrap-around at a fixed modulus m, like numbers on a clock.