#!/usr/bin/ruby def cycle(c,m,f,h) return f[c] if f[c]!=nil q=true h[c].each{|e| if f[e].nil? if m.has_key?(e) q=false else m[e]=1 q=false if !cycle(e,m,f,h) m.delete e end end } f[c]=q end n,m=gets.split.map &:to_i h=Hash.new{|h,k|h[k]=[]} m.times{ g,r=gets.split.map &:to_i gets.split.map(&:to_i).each{|e|h[g-1]<1},f,h);p f} p f.count