import java.util.Scanner;

public class Main{
public static int minPhysicalPower = 0;
public static String stepScheme = "";

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    int T = Integer.parseInt(in.nextLine());
    for(int i1=0; i1<T; i1++){
        int n = Integer.parseInt(in.nextLine());
        String[] EArr = in.nextLine().split(" ");
        int[] E = new int[n];
        for(int i2=0; i2<n; i2++){
            E[i2] = Integer.parseInt(EArr[i2]);
        }

        String[] SArr = in.nextLine().split(" ");
        int[] S = new int[n];
        for(int i2=0; i2<n; i2++){
            S[i2] = Integer.parseInt(SArr[i2]);
        }

        String[] WArr = in.nextLine().split(" ");
        int[] W = new int[n];
        for(int i2=0; i2<n; i2++){
            W[i2] = Integer.parseInt(WArr[i2]);
        }

        String[] NArr = in.nextLine().split(" ");
        int[] N = new int[n];
        for(int i2=0; i2<n; i2++){
            N[i2] = Integer.parseInt(NArr[i2]);
        }

        escapseDomain(n, E, S, W, N);
        System.out.println(minPhysicalPower);
        System.out.println(stepScheme);
        minPhysicalPower = 0;
        stepScheme = "";

    }

}




public static void escapseDomain(int n, int[] E, int[] S, int[] W, int[] N){
    for(int i=0; i<n; i++){
        if( E[i]<=S[i] && E[i]<=W[i] && E[i]<=N[i] ){
            minPhysicalPower+=E[i];
            stepScheme+="E";
            continue;
        }
        if( S[i]<=E[i] && S[i]<=W[i] && S[i]<=N[i] ){
            minPhysicalPower+=S[i];
            stepScheme+="S";
            continue;
        }
        if( W[i]<=E[i] && W[i]<=S[i] && W[i]<=N[i] ){
            minPhysicalPower+=W[i];
            stepScheme+="W";
            continue;
        }
        if( N[i]<=E[i] && N[i]<=S[i] && N[i]<=W[i] ){
            minPhysicalPower+=N[i];
            stepScheme+="N";
            continue;
        }
    }
}

}