#include <bits/stdc++.h>   using namespace std;   long long int arr[378999];   long long int arr2[234597];   long long int ab[10];   vector<long long int> adj[22222];   map<long long int, long long int> mp, mp2;   map<long long int, long long int>::iterator it;   vector<long long int> vec;   string s;   long long int gcd(long long int a, long long int b) {     if (a == 0) return b;     return gcd(b % a, a);   }   int main() {     ios::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     long long int t, i, loss, j, diff;     cin >> t;     while (t--) {       long long int n, x, y, k, maxi = INT_MIN, mini = INT_MAX, two = 0, one1 = 0,                                 one2 = 0, zero = 0, p;       long long int cs, cw, w;       mp.clear();       mp2.clear();       string s, ans =   ;       cin >> s;       cin >> x;       long long int len = s.length();       for (i = 0; i < len; i++) {         ans +=  1 ;       }       long long int f = 0;       for (i = 0; i < len; i++) {         if (s[i] ==  1 ) {           continue;         } else if (s[i] ==  0 ) {           if (i - x >= 0) {             ans[i - x] =  0 ;           }           if (i + x < len) {             ans[i + x] =  0 ;           }         }       }       for (i = 0; i < len; i++) {         if (s[i] ==  1 ) {           if ((i - x >= 0 && ans[i - x] ==  1 ) ||               (i + x < len && ans[i + x] ==  1 ))             continue;           else {             f = 1;             break;           }         }       }       if (f == 1)         cout <<  -1 n ;       else         cout << ans <<   n ;     }     return 0;   }   