#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef string str;
typedef vector<ll> vl;
typedef vector<vl> vvl;
typedef unordered_map<ll, ll> umpl;
typedef map<ll, ll> mpl;
ll fac[1000006], sieve[1000006], phi[1000006];
ll ssbgcd(ll x, ll y) {
  if (!y) return x;
  return ssbgcd(y, x % y);
}
ll ssbpow(ll x, ll n, ll m = 1000000007) {
  if (!n) return 1 % m;
  ll u = ssbpow(x, n / 2, m);
  u = (u * u) % m;
  if (n & 1) u = (u * x) % m;
  return u;
}
ll ssbmmi(ll x, ll m = 1000000007) {
  if (ssbgcd(x, m) != 1) return 0;
  return ssbpow(x, m - 2, m);
}
void ssbfac(ll m = 1000000007) {
  ll i;
  for (fac[0] = i = 1; i < 1000006; ++i) {
    fac[i] = (fac[i - 1] * i) % m;
  }
}
ll ssbncr(ll n, ll r, ll m = 1000000007) {
  if (n < r) return 0;
  if (r == 0) return 1;
  ssbfac(m);
  return (fac[n] * ssbmmi(fac[r], m) % m * ssbmmi(fac[n - r], m) % m) % m;
}
bool ssbprime(ll x) {
  if (x < 2) return false;
  ll i;
  for (i = 2; i * i <= x; ++i) {
    if (x % i == 0) return false;
  }
  return true;
}
mpl ssbfactors(ll x) {
  mpl f;
  ll i;
  for (i = 2; i * i <= x; ++i) {
    for (; x % i == 0;) {
      ++f[i];
      x /= i;
    }
  }
  if (x > 1) ++f[x];
  return f;
}
void ssbsieve() {
  ll i, j;
  sieve[1000006] = {0};
  for (i = 2; i < 1000006; ++i) {
    if (!sieve[i]) {
      for (j = 2 * i; j < 1000006; j += i) {
        sieve[j] = i;
      }
    }
  }
}
void ssbphi() {
  ll i, j;
  for (i = 0; i < 1000006; ++i) {
    phi[i] = i;
  }
  for (i = 2; i < 1000006; ++i) {
    if (phi[i] == i) {
      for (j = i; j < 1000006; j += i) {
        phi[j] /= i;
        phi[j] *= (i - 1);
      }
    }
  }
}
void ssbcode() {
  ll a, b, c, d, x, y;
  cin >> a >> b >> c >> d;
  x = max(3 * a / 10, a - ((a / 250) * c));
  ;
  y = max(3 * b / 10, b - ((b / 250) * d));
  ;
  if (x == y) {
    cout << "Tie";
  } else if (x > y) {
    cout << "Misha";
  } else {
    cout << "Vasya";
  }
  cout << "\n";
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  ssbcode();
  return 0;
}
