Problem:
Score : 200 points

Problem Statement

You are given a string S. Each character of S is uppercase or lowercase English letter.
Determine if S satisfies all of the following conditions:

The initial character of S is an uppercase A.

There is exactly one occurrence of C between the third character from the beginning and the second to last character (inclusive).

All letters except the A and C mentioned above are lowercase.

Constraints

4 ≤ |S| ≤ 10 (|S| is the length of the string S.)

Each character of S is uppercase or lowercase English letter.

Input

Input is given from Standard Input in the following format:

S

Output

If S satisfies all of the conditions in the problem statement, print AC; otherwise, print WA.

Sample Input 1

AtCoder

Sample Output 1

AC

The first letter is A, the third letter is C and the remaining letters are all lowercase, so all the conditions are satisfied.

Sample Input 2

ACoder

Sample Output 2

WA

The second letter should not be C.

Sample Input 3

AcycliC

Sample Output 3

WA

The last letter should not be C, either.

Sample Input 4

AtCoCo

Sample Output 4

WA

There should not be two or more occurrences of C.

Sample Input 5

Atcoder

Sample Output 5

WA

The number of C should not be zero, either.

Solution in C++14 (GCC 5.4.1) (judge verdict: Accepted)

    #include <iostream>
    #include <algorithm>
    #include <vector>
    #include <map>
    #include <set>
    #include <string>
    #include <cmath>
    #include <iomanip>
    #include <queue>
    #include <unordered_map>
    #include <unordered_set>
    #include <bitset>
    #include <cassert>
    #include <cstring>
    #include <climits>
     
    using namespace std;
     
    #define FOR(i, a, b) for (int i = (a); i < (b); i++)
    #define REP(i, n) FOR(i, 0, n)
    #define SORT(c) sort((c).begin(), (c).end())
    #define mp make_pair
    #define fi first
    #define se second
    #define pb push_back
     
    typedef long long ll;
    typedef pair<int, int> P;
    typedef vector<int> V;
    typedef map<int, int> M;
     
    constexpr ll INF = 1e18;
    constexpr ll MOD = 1e9 + 7;
    constexpr double PI = 3.14159265358979323846;
    constexpr int di[] = {0, 0, 1, -1};
    constexpr int dj[] = {1, -1, 0, 0};
     
    int main()
    {
        ios::sync_with_stdio(false);
        cin.tie(0);
        string s;
        cin >> s;
        int n = s.size();
        string ans = "AC";
        if(s[0]!='A')
            ans = "WA";
        int cnt = 0;
        for (int i = 1; i < n;i++){
            if(isupper(s[i])){
                if(i==1||i==n-1||s[i]!='C'){
                    ans = "WA";
                }
                cnt++;
            }
        }
        if(cnt!=1)
            ans = "WA";
        cout << ans << endl;
        return 0;
    }