description: You had n positive integers a_1, a_2, ..., a_n arranged in a circle. For each pair of neighboring numbers (a_1 and a_2, a_2 and a_3, ..., a_{n - 1} and a_n, and a_n and a_1), you wrote down: are the numbers in the pair equal or not.
  
  Unfortunately, you've lost a piece of paper with the array a. Moreover, you are afraid that even information about equality of neighboring elements may be inconsistent. So, you are wondering: is there any array a which is consistent with information you have about equality or non-equality of corresponding pairs?
  
  Input
  
  The first line contains a single integer t (1 ≤ t ≤ 1000) — the number of test cases. Next t cases follow.
  
  The first and only line of each test case contains a non-empty string s consisting of characters E and/or N. The length of s is equal to the size of array n and 2 ≤ n ≤ 50. For each i from 1 to n: 
  
    * if s_i = E then a_i is equal to a_{i + 1} (a_n = a_1 for i = n); 
    * if s_i = N then a_i is not equal to a_{i + 1} (a_n ≠ a_1 for i = n). 
  
  Output
  
  For each test case, print YES if it's possible to choose array a that are consistent with information from s you know. Otherwise, print NO.
  
  It can be proved, that if there exists some array a, then there exists an array a of positive integers with values less or equal to 10^9.
  
  Example
  
  Input
  
  
  4
  EEE
  EN
  ENNEENE
  NENN
  
  
  Output
  
  
  YES
  NO
  YES
  YES
  
  Note
  
  In the first test case, you can choose, for example, a_1 = a_2 = a_3 = 5.
  
  In the second test case, there is no array a, since, according to s_1, a_1 is equal to a_2, but, according to s_2, a_2 is not equal to a_1.
  
  In the third test case, you can, for example, choose array a = [20, 20, 4, 50, 50, 50, 20].
  
  In the fourth test case, you can, for example, choose a = [1, 3, 3, 7].
solution: import java.io.*;
  import java.util.*;
  import java.lang.Math.*;
  
  public class Main {
  
      public static void main(String[] args) throws IOException {
          //Scanner in = new Scanner(new File("input.txt"));
          //PrintWriter out = new PrintWriter("output.txt");
          int t = nextInt();
          for (int i = 0; i < t; i++) {
              String s = next();
              int sum = 0;
              for (int j = 0; j < s.length(); j++) {
                  if(s.charAt(j) == 'N') sum++;
              }
              if(sum == 1) out.println("NO");
              else out.println("YES");
          }
          out.close();
      }
  
      int[] nextPermutation(int[] a) {
          int i = a.length - 2;
          for (; i >= 0; i--) {
              if (a[i] < a[i + 1]) {
                  break;
              }
          }
          if (i == -1) {
              return null;
          }
          int j = a.length - 1;
          while (a[j] < a[i]) j--;
          int t = a[i];
          a[i] = a[j];
          a[j] = t;
          Arrays.sort(a, i + 1, a.length);
          return a;
      }
  
      static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      static PrintWriter out = new PrintWriter(System.out);
      static StringTokenizer in = new StringTokenizer("");
  
      public static String next() throws IOException {
          while (in == null || !in.hasMoreTokens()) {
              in = new StringTokenizer(br.readLine());
          }
          return in.nextToken();
      }
  
      public static int nextInt() throws IOException {
          return Integer.parseInt(next());
      }
  
      public static double nextDouble() throws IOException {
          return Double.parseDouble(next());
      }
  
      public static long nextLong() throws IOException {
          return Long.parseLong(next());
      }
  }