#include <bits/stdc++.h>
using namespace std;
int n,k;
int  mn;
//int a[100005],dp[100005];
int solve(int s, int dp[], int a[])
{  //cout<<s<<endl;
       if(s<mn) return -1;
  
    else if(dp[s]) return dp[s];
    
    for(int i=0;i<n;++i)
        {   if(a[i]<=s)
            {
            int temp=solve(s-a[i],dp,a);
            if(temp==-1)
                {dp[s]=1;return dp[s];}
            else if(temp==1)
                {dp[s]=-1;}
            }
 
        }
        return dp[s];
}
 
int main()
{   int t;
    cin>>t;
    while(t--)
    {
    cin>>n>>k;
    int dp[k+4]={0};
    int a[n+1];
    cin>>a[0];mn=a[0]; 
    for(int i=1;i<n;++i)
        {cin>>a[i];mn=min(a[i],mn);}
    //cout<<mn<<" \n";cout<<s<<" "<<p<<" "<<dp[s][p]<<"\n"; cout<<s<<" "<<p<<"\n ";
    solve(k,dp,a);
    for(int i=0;i<=k;++i)
    cout<<dp[i]<<" ";
    if(dp[k]==1) cout<<"First\n";
    else if(dp[k]==-1) cout<<"Second\n";
    }
        
}