#include <iostream>
#include <cmath>
//Tomas Mollerのアルゴリズム
using namespace std;
typedef struct{
	double x;
	double y;
	double z;
}V;

V Sub(V a, V b){
	V c;
	c.x=a.x-b.x;
	c.y=a.y-b.y;
	c.z=a.z-b.z;
	return c;
}

V Gai(V a, V b){
	V c;
	c.x=a.y*b.z-a.z*b.y;
	c.y=a.z*b.x-a.x*b.z;
	c.z=a.x*b.y-a.y*b.x;
	return c;
}

double Nai(V a,V b){
	return a.x*b.x+a.y*b.y+a.z*b.z;
}


int chk(V p1,V p2,V v1, V v2,V v3){
	double x,y,z;
	V a,b,c,d,n,m;
	a=Sub(v2,v1);
	b=Sub(v3,v1);
	n=Gai(a,b);
	c=Sub(p1,v1);
	x=Nai(c,n);
	d=Sub(p2,v1);
	y=Nai(d,n);
	if ((x>0.0&&y>0.0) || (x<0.0&&y<0.0)) return 1;
	
	z = x/(x-y);
	m.x=(1.0-z)*c.x+z*d.x;
	m.y=(1.0-z)*c.y+z*d.y;
	m.z=(1.0-z)*c.z+z*d.z;
	if(n.x<0.0)n.x*=-1.0;
	if(n.y<0.0)n.y*=-1.0;
	if(n.z<0.0)n.z*=-1.0;
	if(n.x>n.y && n.x>n.z){
		z = 1.0/(a.y*b.z-a.z*b.y);
		x = (b.z*m.y-b.y*m.z)*z;
		y = (a.y*m.z-a.z*m.y)*z;
	}
	else if(n.y>n.z){
		z = 1.0/(a.z*b.x-a.x*b.z);
		x = (b.x*m.z-b.z*m.x)*z;
		y = (a.z*m.x-a.x*m.z)*z;
	}
	else{
		z = 1.0/(a.x*b.y-a.y*b.x);
		x = (b.y*m.x-b.x*m.y)*z;
		y = (a.x*m.y-a.y*m.x)*z;
	}
	
	return (x<0.0 || y<0.0 || x+y>1.0);
}

int main(){
	V p1,p2,v1,v2,v3;
	cin>>p1.x>>p1.y>>p1.z;
	cin>>p2.x>>p2.y>>p2.z;
	cin>>v1.x>>v1.y>>v1.z;
	cin>>v2.x>>v2.y>>v2.z;
	cin>>v3.x>>v3.y>>v3.z;
	if(chk(p1,p2,v1,v2,v3))cout<<"HIT\n";
	else cout<<"MISS\n";
	
	return 0;
}
