import std.algorithm;
import std.conv;
import std.range;
import std.stdio;
import std.string;

void main ()
{
	foreach (test; 0..readln.strip.to !(int))
	{
		auto s = readln.strip;
		auto x = readln.strip.to !(int);
		auto n = s.length.to !(int);
		auto w = new char [n];
		w[] = '1';
		foreach (i; 0..n)
		{
			if (s[i] == '0')
			{
				if (i - x >= 0)
				{
					w[i - x] = '0';
				}
				if (i + x < n)
				{
					w[i + x] = '0';
				}
			}
		}
		bool ok = true;
		foreach (i; 0..n)
		{
			if (s[i] == '1')
			{
				if (!(i - x >= 0 && w[i - x] == '1') &&
				    !(i + x < n && w[i + x] == '1'))
				{
					ok = false;
				}
			}
		}
		writeln (ok ? w : "-1");
	}
}
