#!/usr/bin/ruby def sub(a,b) m=[a.size,b.size].max m.times.map{|i|(a[i]||0) - (b[i]||0)} end def checkio(exp,div) c=[] while div.size<=exp.size d=exp[-1]/div[-1] c.push(d) exp=sub(exp,[0]*(exp.size-div.size)+div.map{|e|e*d}) #assert exp[-1]==0 exp.pop end exp.pop() while exp.size>1 && exp[-1]==0 puts exp.size-1 puts exp*' ' end gets checkio(gets.split.map(&:to_i),[0,-1,0,1])