One cold winter evening Alice and her older brother Bob was sitting at home near the fireplace and giving each other interesting problems to solve. When it was Alice's turn, she told the number n to Bob and said:

—Shuffle the digits in this number in order to obtain the smallest possible number without leading zeroes.

—No problem! — said Bob and immediately gave her an answer.

Alice said a random number, so she doesn't know whether Bob's answer is correct. Help her to find this out, because impatient brother is waiting for the verdict.

Input

The first line contains one integer n (0 ≤ n ≤ 109) without leading zeroes. The second lines contains one integer m (0 ≤ m ≤ 109) — Bob's answer, possibly with leading zeroes.

Output

Print OK if Bob's answer is correct and WRONG_ANSWER otherwise.

Examples

Input

3310
1033


Output

OK


Input

4
5


Output

WRONG_ANSWER

import java.awt.Point;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.PriorityQueue;
import java.util.StringTokenizer;
import sun.misc.Queue;

/**
 *
 * @author Mojtaba
 */
public class Main {

    static boolean[][] a;

    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        StringBuilder sb = new StringBuilder();
        //String str = reader.readLine();
        PrintWriter writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
        //int n=Integer.parseInt(reader.readLine());
        String n = reader.readLine();
        String ms=reader.readLine();
        int m = Integer.parseInt(ms);
        int[] digits = new int[10];
        for (int i = 0; i < n.length(); i++) {
            digits[(n.charAt(i) - '0')]++;
        }
        HashSet<Integer> set = NumbersFrom(digits);
        ArrayList<Integer> list = new ArrayList<>(set);

        Collections.sort(list);
        int temp = 0;
        for (int i = 0; i < list.size(); i++) {
            if ((int) Math.log10(list.get(i)) + 1 == n.length()) {
                temp = list.get(i);
                break;
            }
        }
        //System.err.println(list);
        //System.err.println(temp);
        sb.append(temp == m && (int) ms.length() == n.length() ? "OK" : "WRONG_ANSWER");

        //int k = Integer.parseInt(reader.readLine());
//        StringTokenizer tokenizer = new StringTokenizer(reader.readLine());
//        for (int i = 0; i < a.length; i++) {
//            a[i] = Integer.parseInt(tokenizer.nextToken());
//        }
//        ArrayList<State> list = F(a);
//        if (list.size() > 3) {
//            sb.append("no");
//        } else {
//            if (list.size() == 1) {
//                if (list.get(0).halat == 1) {
//                    sb.append("yes\n1 1");
//                } else {
//                    sb.append("yes\n");
//                    sb.append(1).append(" ").append(k);
//                }
//            } else if (list.size() == 2) {
//                if (list.get(0).halat == list.get(1).halat) {
//                    sb.append("no");
//                } else {
//                    if (list.get(0).halat == -1) {
//                        sb.append("yes\n").append((list.get(0).left + 1)).append(" ").append(list.get(0).right);
//
//                    } else {
//                        sb.append("yes\n").append((list.get(1).left + 1)).append(" ").append(list.get(1).right);
//                    }
//                }
//            } else {
//                if (!(list.get(0).halat == 1 && list.get(1).halat == -1 && list.get(2).halat == 1)) {
//                    sb.append("no");
//                } else if (a[list.get(0).right - 1] <= a[list.get(1).right - 1] && a[list.get(1).left] <= a[list.get(2).left]) {
//                    sb.append("yes\n").append((list.get(1).left + 1)).append(" ").append(list.get(1).right);
//                }
//            }
//        }

        writer.println(sb.toString().trim());
        writer.close();
        reader.close();
    }

    static ArrayList<State> F(int[] a) {
        int soudi = 1;
        int nozooli = -1;
        int halat = a[0] > a[1] ? nozooli : soudi;
        int r = 0;
        int l = 0;
        ArrayList<State> list = new ArrayList<>();
        for (int i = 1; i < a.length - 1; i++) {
            if (halat == soudi) {
                if (a[i] <= a[i + 1]) {
                    r = i + 2;
                    if (i == a.length - 2) {
                        list.add(new State(l, r, halat));
                    }
                } else {
                    list.add(new State(l, i + 1, halat));
                    l = i + 1;
                    halat = nozooli;
                    if (i == a.length - 2) {
                        list.add(new State(l, l + 1, halat));
                    }
                }
            } else {
                if (a[i] >= a[i + 1]) {
                    r = i + 2;
                    if (i == a.length - 2) {
                        list.add(new State(l, r, halat));
                    }
                } else {
                    list.add(new State(l, i + 1, halat));
                    l = i + 1;
                    halat = soudi;
                    if (i == a.length - 2) {
                        list.add(new State(l, l + 1, halat));
                    }
                }
            }
        }
        return list;
    }

    static HashSet<Integer> NumbersFrom(int[] digits) {
        int maxDigit = 0;
        for (int i = 0; i < digits.length; i++) {
            maxDigit += digits[i];
        }
        return NumbersFrom(digits, maxDigit);
    }

    static HashSet<Integer> NumbersFrom(int[] digits, int maxDigit) {
        ArrayList<Integer> list = new ArrayList<Integer>();
        for (int i = 0; i < digits.length; i++) {
            if (digits[i] > 0) {
                list.add(i);
            }
        }
        int t1 = 0;
        int t2 = list.size();
        for (int i = 1; i < maxDigit; i++) {
            for (int j = t1; j < t2; j++) {
                int number = list.get(j);
                int temp = number;
                while (temp > 0) {
                    digits[temp % 10]--;
                    temp /= 10;
                }
                for (int k = 0; k < 10; k++) {
                    if (digits[k] > 0) {
                        int digit = (int) Math.log10(number * 10 + k) + 1;
                        //if (digit == maxDigit) 
                        {
                            list.add(number * 10 + k);
                        }
                    }
                }
                while (number > 0) {
                    digits[number % 10]++;
                    number /= 10;
                }
            }
            t1 = t2;
            t2 = list.size();
        }
        HashSet<Integer> set = new HashSet<Integer>(list);
        return set;
    }
}

class State {

    int left, right, halat;

    public State(int left, int right, int halat) {
        this.left = left;
        this.right = right;
        this.halat = halat;
    }

    @Override
    public String toString() {
        return "[" + left + ", " + right + ") " + halat;
    }
}