#include<stdio.h>
int b[4][2],c,d[16]={0};
void f(int a){
  if(a==16){
    c++;
    return ;
  }
  if(d[a]){
    f(a+1);
    return ;
  }
  int i;
  for(i=0;i<4;i++){
    int y=(a/4)+b[i][1],x=(a%4)+b[i][0];
    if(y<0||3<y||x<0||3<x)continue;
    if(d[y*4+x])continue;
    d[a]=d[y*4+x]=1;
    f(a+1);
    d[a]=d[y*4+x]=0;
  }
  return ;
}
int main(){
  int i;
  while(scanf("%d",&b[0][0]),b[0][0]<5){
    scanf("%d",&b[0][1]);
    for(i=1;i<4;i++)scanf("%d %d",&b[i][0],&b[i][1]);
    f(c=0);
    printf("%d\n",c);
  }
  return 0;
}