#include <iostream>
using namespace std;
bool flag;
int ux,uy,uz;
int ex,ey,ez;
int b1x,b1y,b1z;
int b2x,b2y,b2z;
int b3x,b3y,b3z;
double a,b,c,d,e,f,g;
double l,m,n,l1,m1,n1;
int p,q,r;
typedef struct{
	int x;
	int y;
	int z;
} V;
V oa,ob,oc,ox;

V vect(int a,int b,int c, int d,int e,int f){
	V v;
	v.x=d-a;
	v.y=e-b;
	v.z=f-c;
	return v;
}
void check(){
	a=oa.x*oc.y-oa.y*oc.x;
	b=ob.x*oc.y-ob.y*oc.x;
	c=ox.x*oc.y-ox.y*oc.x;

	d=oa.z*oc.y-oa.y*oc.z;
	e=ob.z*oc.y-ob.y*oc.z;
	f=ox.z*oc.y-ox.y*oc.z;

	l=(c*e-b*f)/(a*e-b*d);
	m=(c-a*l)/b;
	n=(ox.x-l*oa.x-m*ob.x)/oc.x;
	if(l>=0&&m>=0&&n>=0){
		l1=l/(l+m+n);
		m1=m/(l+m+n);
		n1=n/(l+m+n);
		if(l1>=0&&m1>=0&&n1>=0){
			flag=true;
			return;
		}else{
			flag=false;
			return;
		}
	}else{
		flag=false;
		return;
	}
}

int main (){
	cin >>ux >>uy >>uz;
	cin >>ex >>ey >>ez;
	cin >>b1x >>b1y >>b1z;
	cin >>b2x >>b2y >>b2z;
	cin >>b3x >>b3y >>b3z;
	oa=vect(ux,uy,uz,b1x,b1y,b1z);
	ob=vect(ux,uy,uz,b2x,b2y,b2z);
	oc=vect(ux,uy,uz,b3x,b3y,b3z);
	ox=vect(ux,uy,uz,ex,ey,ez);
	check();
	if(!flag){
		cout << "HIT"<<endl;
	}else{
		cout << "MISS"<<endl;
	}
	return 0;
}