#include using namespace std; #define FOR(i,a,b) for(int i=(a);i<(b);i++) #define REP(i,n) FOR(i,0,n) #define ALL(v) (v).begin(),(v).end() template inline bool chmax(A &a, B b) { if (a inline bool chmin(A &a, B b) { if (a>b) { a=b; return 1; } return 0; } typedef unsigned long long ull; typedef long long ll; typedef pair pii; typedef pair pll; typedef pair P; const ll INF = 1ll<<29; const ll MOD = 1000000007; const double EPS = 1e-10; int main() { string before, after; ll n; cin >> before >> n >> after; bool ans = true; bool all = before[0] == before[1] || before[1] == before[2]; if (before == after && (all || n % 2 == 0)) ans = false; if (n >= 1) { swap(before[0], before[1]); if (before == after && (all || (n - 1) % 2 == 0)) ans = false; swap(before[0], before[1]); swap(before[1], before[2]); if (before == after && (all || (n - 1) % 2 == 0)) ans = false; swap(before[1], before[2]); } if (n >= 2) { swap(before[0], before[1]); swap(before[1], before[2]); if (before == after && (all || (n - 2) % 2 == 0)) ans = false; swap(before[1], before[2]); swap(before[0], before[1]); swap(before[2], before[1]); swap(before[0], before[1]); if (before == after && (all || (n - 2) % 2 == 0)) ans = false; swap(before[0], before[1]); swap(before[2], before[1]); } if (n >= 3) { swap(before[0], before[1]); swap(before[1], before[2]); swap(before[0], before[1]); if (before == after && (all || (n - 3) % 2 == 0)) ans = false; swap(before[0], before[1]); swap(before[1], before[2]); swap(before[0], before[1]); swap(before[2], before[1]); swap(before[0], before[1]); swap(before[1], before[2]); if (before == after && (all || (n - 3) % 2 == 0)) ans = false; swap(before[1], before[2]); swap(before[0], before[1]); swap(before[2], before[1]); } puts(ans ? "SUCCESS" : "FAILURE"); return 0; }