int ninja(int num){
  int result = 0;
  if(num!=2 && num!=7 && num!=3){
    result = 3;
  }else{
    if(num==2) result=2;
    if(num==7) result=3;
    if(num==3) result=4;
  }
  return result*ninja(num-1);
}
// Genera los grafos usados para optimizar las heurísticas
vector<vector<nodo>> generar_grafos() {
    vector<vector<nodo>> grafos;

    int initial = 1;
    int max = 10;
    int increment = 1;

    // Familia lattice
    for(int m = initial; m <= max; m += increment)
    for(int n = initial; n <= max; n += increment) {
        grafos.push_back(lattice(m, n));
    }

    // Familia (K_n U Claw_m)^c
    for(int m = initial; m <= max; m += increment)
    for(int n = initial; n <= max; n += increment) {
        grafos.push_back(kn_union_claw_m_complemento(m, n));
    }

    // Familia lollipop
    for(int m = initial; m <= max; m += increment)
    for(int n = initial; n <= max; n += increment) {
        grafos.push_back(lollipop(m, n));
    }

    // Familia fan
    for(int m = initial; m <= max; m += increment)
    for(int n = initial; n <= max; n += increment) {
        grafos.push_back(fan(m, n));
    }

    // Familia ninja
    for(int n = initial; n <= max; n += increment) {
        grafos.push_back(ninja(n));
    }

    return grafos;
}
int main(){
  long int num = 0;
  scanf("%ld",&num);
  printf("%ld\n", ninja());
  return 0;
}