def get_next(v) r=v[-1]+1 x=0 while true x=1 for i in v for j in v if i**j==r or j**i==r then x=0 break end end if x==0 then break end end if x==1 then return r else r += 1 end end end def first(m) v=[2] for i in 1..m v += [get_next(v)] end v end print first(100)