Johnson's 1975 algorithm to find all elementary cycles in directed graph