  Consider a complete communication network of $n$ nodes, where the nodes
receive a common clock pulse. We study the synchronous $c$-counting problem:
given any starting state and up to $f$ faulty nodes with arbitrary behaviour,
the task is to eventually have all correct nodes labeling the pulses with
increasing values modulo $c$ in agreement. Thus, we are considering algorithms
that are self-stabilising despite Byzantine failures. In this work, we give new
algorithms for the synchronous counting problem that (1) are deterministic, (2)
have optimal resilience, (3) have a linear stabilisation time in $f$
(asymptotically optimal), (4) use a small number of states, and consequently,
(5) communicate a small number of bits per round. Prior algorithms either
resort to randomisation, use a large number of states and need high
communication bandwidth, or have suboptimal resilience. In particular, we
achieve an exponential improvement in both state complexity and message size
for deterministic algorithms. Moreover, we present two complementary approaches
for reducing the number of bits communicated during and after stabilisation.
