greedy
implementation
