Combinatorial Nullstellensatz (With Applications to Graph Colouring)