# -*- coding: utf-8 -*- sb, = map(str, raw_input().split()) n, = map(int, raw_input().split()) sa, = map(str, raw_input().split()) dic = {'x': 0, 'o': 0} for s in sb: dic[s] += 1 dicm = dic.copy() for s in sa: dic[s] -= 1 # 数が変われば手品成功 if dic['x'] != 0 or dic['o'] != 0: print 'SUCCESS' exit() # 0回: 変わっていれば成功 if n == 0: print 'SUCCESS' if sb != sa else 'FAILURE' exit() odd = 'x' if dicm['x'] % 2 == 1 else 'o' nodd = n % 2 == 1 odd_pos_b = sb.find(odd) odd_pos_a = sa.find(odd) if nodd: # 奇数回動かす場合 if odd_pos_b % 2 == odd_pos_a % 2: # 前後で位置が変わっていない print 'SUCCESS' else: # 前後で位置が変わった print 'FAILURE' else: # 偶数階動かす場合 if odd_pos_b % 2 == odd_pos_a % 2: # 前後で位置が変わっていない print 'FAILURE' else: # 前後で位置が変わった print 'SUCCESS'