#include <bits/stdc++.h>
using namespace std;
string s;
int main() {
  int k;
  cin >> s >> k;
  int n = s.size();
  int cnt1 = 0, cnt2 = 0;
  for (int i = 0; i < n; i++) {
    if (s[i] == '*') cnt1++;
    if (s[i] == '?') cnt2++;
  }
  int d = n - 2 * cnt1 - 2 * cnt2;
  if (d > k) {
    cout << "Impossible" << endl;
    return 0;
  }
  string ans;
  if (cnt1) {
    d = n - cnt1 - cnt2;
    if (d >= k) {
      d -= k;
      for (int i = 0; i < n; i++) {
        if (s[i] == '*' || s[i] == '?') {
          if (d) {
            d--;
            ans.erase(ans.end() - 1);
          }
        } else
          ans += s[i];
      }
    } else {
      int pos = -1;
      d = k - d;
      for (int i = 0; i < n; i++) {
        if (s[i] == '*' || s[i] == '?') {
          if (s[i] == '*') pos = ans.size() - 1;
        } else
          ans += s[i];
      }
      while (d) {
        ans.insert(ans.begin() + pos, ans[pos]);
        d--;
      }
    }
  } else {
    d = n - cnt2;
    if (d >= k) {
      d -= k;
      for (int i = 0; i < n; i++) {
        if (s[i] == '*' || s[i] == '?') {
          if (d) {
            d--;
            ans.erase(ans.end() - 1);
          }
        } else
          ans += s[i];
      }
    } else
      ans = "Impossible";
  }
  cout << ans << endl;
  return 0;
}
