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<bits/stdc++.h>
using namespace std;
inline int rd(char c[]){
  int i, sz=0;
  for(;;){
    i = getchar_unlocked();
    if(i!=' '&&i!='\n'&&i!='\r'&&i!='\t'&&i!=EOF){
      break;
    }
  }
  c[sz++] = i;
  for(;;){
    i = getchar_unlocked();
    if(i==' '||i=='\n'||i=='\r'||i=='\t'||i==EOF){
      break;
    }
    c[sz++] = i;
  }
  c[sz]='\0';
  return sz;
}
inline void wt_L(char a){
  putchar_unlocked(a);
}
inline void wt_L(const char c[]){
  int i=0;
  for(i=0;c[i]!='\0';i++){
    putchar_unlocked(c[i]);
  }
}
int N;
char S[12];
int main(){
  int c, i, ok;
  N = rd(S);
  ok = 1;
  if(S[0]!='A'){
    ok = 0;
  }
  c = 0;
  for(i=2;i<N-1;i++){
    if(S[i]=='C'){
      c++;
    }
  }
  if(c!=1){
    ok = 0;
  }
  c = 0;
  for(i=0;i<N;i++){
    if('A'<=S[i] && S[i]<='Z'){
      c++;
    }
  }
  if(c!=2){
    ok = 0;
  }
  if(ok){
    wt_L("AC");
    wt_L('\n');
  }
  else{
    wt_L("WA");
    wt_L('\n');
  }
  return 0;
}
// cLay varsion 20190630-1

// --- original code ---
// int N; char S[12];
// {
//   int i, c, ok;
//   rd(S@N);
// 
//   ok = 1;
//   if(S[0]!='A') ok = 0;
// 
//   c = 0;
//   rep(i,2,N-1) if(S[i]=='C') c++;
//   if(c!=1) ok = 0;
// 
//   c = 0;
//   rep(i,N) if('A'<=S[i]<='Z') c++;
//   if(c!=2) ok = 0;
// 
//   wt(if[ok,"AC","WA"]);
// }