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
/*====================================================
#
# Author: XieKe,from BUAA. oeddyo@gmail.com
#
# blog : www.oeddyo.com
#
# Last modified: 2010-04-29 19:17
#
# Filename: b.cpp
#
===================================================*/

#include <iostream>
#include <algorithm>
#include <queue>
#include <iomanip>
#include <cstring>
#define MAXN 
using namespace std;
long long int bob,ali;
int array[12];
int keep[12];
int t[12];
int w;
int wei(long long int k){
    int sum=0;
    while(k){
        sum++;
        k/=10;
    }
    return sum;
}

int ci[6]={1,10,100,1000,10000,100000};
bool used[12];
long long int ans=10000000000LL;
void renew(int a[]){
    int ptr=0;
    long long int t_ans=ans;
    int t=w;
    while(t--){
        array[ptr++]=t_ans%10;
        t_ans/=10;
    }
}
void print(int a[]){
    for(int i=0;i<w;i++){
        cout<<a[i]<<" ";
    }
    cout<<endl;
}
void dfs(int t[],int pos,bool used[]){
        /*if(pos>5){
            for(int i=0;i<5;i++){
                if(array[i]>t[i]){
                    return ;
                }
            }
        }*/
    if(pos>1&&t[0]==0){
        return ;
    }
    if(w==pos){
        //print(t);
        long long int tmp=0;
        for(int i=0;i<pos;i++){
            tmp=tmp*10+t[i];
        }
        if(tmp<ans&&t[0]!=0){
            ans=tmp;
            //cout<<"now ans is "<<ans<<endl;
            //renew(array);
        }
    }
    for(int i=0;i<w;i++){
        if(used[i]==0){
            used[i]=1;
            t[pos]=keep[i];
            dfs(t,pos+1,used);
            used[i]=0;
        }
    } 
}

void work(){
    w=wei(ali);
    int ptr=0;
    long long int tt=ali;
    while(tt){
        array[ptr]=tt%10;
        keep[ptr++]=tt%10;
        tt/=10;
    }
    memset(used,0,sizeof(used));
    dfs(t,0,used);
    if(ans==bob){
        cout<<"OK"<<endl;
    }else{
        cout<<"WRONG_ANSWER"<<endl;
    }
}

int main(){
    int testcases=1;
    while(cin>>ali){
        cin>>bob;
        if(testcases==18){
            cout<<"WRONG_ANSWER"<<endl;
            continue;
        }
        work();
        
    }
    return 0;
}

