
#include <cstdlib>
#include <iostream>

using namespace std;

const int sz = 1000000;
int arr[sz];

int random(int a, int b) {
    return a + rand() % (b - a + 1);
}

void quickSort(int *arr, int l, int r) {
    if (l >= r) return;

    int i = l, j = r;
    int X = arr[random(l, r)];

    while (i < j) {
        while (arr[i] < X) i++;
        while (arr[j] > X) j--;
        if (i <= j) swap(arr[i++], arr[j--]);
    }

    quickSort(arr, i, r);
    quickSort(arr, l, j);
}


bool check() {
    for (int i=0; i<sz-1; i++){
        if (arr[i] > arr[i + 1]) return false;
    }
    return true;
}

int main(){
    for (int i=0; i<sz; i++) {
        arr[i] = random(1, 1000000);
    }

    quickSort(arr, 0, sz - 1);

    cout<<(check() ? "OK": "FAIL");

    return 0;
}
