#include "stdafx.h"
#include <fstream.h>
#include <iostream.h>
bool check(const int result,const char* ZF,int* buffer,int length,int index)
{ if(index==length)
{
int sum = 0;
int i = 0;
int j;
for(j = length-1;j>=0;j--,i++)
{
sum+=( (buffer[j]<<i) * ((ZF[j]=='p')?1:(-1)) );
}
if(sum==result)
return true;
else
return false;
}
buffer[index] = 0;
if(check(result,ZF,buffer,length,index+1))
return true;
else
{
buffer[index] = 1;
return check(result,ZF,buffer,length,index+1);
}
}
void main()
{
ifstream in("F://input.txt");
ofstream out("F://output.txt");
int Number; int length; char ZF[11];
int result; in>>Number;
for(int i=0;i<Number;i++)
{
in>>length;
in>>ZF;
in>>result;
int* buffer = new int[length];
for(int j=0;j<length;j++)
buffer[j] = 0;
if(check(result,ZF,buffer,length,0))
{
for(j=0;j<length;j++)
out<<buffer[j];
out<<endl;
}
else
out<<"Impossible"<<endl;
delete buffer;
}
}