Concrete Mathematics: A Foundation for Computer Science