Gcan Algorithm