def move(a) [[a[0],a[2],a[1]],[a[1],a[0],a[2]]] end def guchoku(n,cur,fin) return cur == fin if n == 0 move(cur).each{|nxt| return true if guchoku(n-1,nxt,fin) } return false end start = gets.chomp.chars.to_a n = gets.to_i final = gets.chomp.chars.to_a if n < 8 puts guchoku(n,start,final) ? "FAILURE" : "SUCCESS" else if n.odd? [[0,1,2],[2,0,1],[1,2,0]].each{|swp| if [start[swp[0]],start[swp[1]],start[swp[2]]] == final puts "FAILURE" ; exit end } puts "SUCCESS" ; exit else [[0,2,1],[2,1,0],[1,0,2]].each{|swp| if [start[swp[0]],start[swp[1]],start[swp[2]]] == final puts "FAILURE" ; exit end } puts "SUCCESS" ; exit end end