n,m=gets.split.map &:to_i @lines=(1..m).map{gets.split.map &:to_i} @a=0 def loop max tmp_lines = @lines.select{|l| l.include? max} tops=tmp_lines.flatten.delete_if{|e| e==max} @a+=tops.reduce(0){|a, e| a+=2**e} @lines.delete_if{|l| !(l & (tops << max)).empty?} return if @lines.empty? max=@lines.flatten.max loop max end loop n-1 puts @a.to_s(2)