(c) k&r 2018 |