finding eulerian cycles in directed graphs