#include <iostream>
#include <vector>
using namespace std;

int count = 0;  // 全局变量,用于计数方案数

// 辅助函数,递归计算所有可能的表达式结果
void calculate(const vector<int>& nums, int index, int currentResult) {
    // 如果已经处理完所有数字
    if (index == nums.size()) {
        // 如果当前结果等于24,则增加方案数
        if (currentResult == 24) {
            count++;
        }
        return;
    }

    // 对于当前位置之后的每一个数字,尝试进行加、减、乘操作
    for (int i = index; i < nums.size(); ++i) {
        // 加法
        calculate(nums, i + 1, currentResult + nums[i]);
        // 减法(注意要检查减法不会导致负数,因为题目中的数字都是正数)
        if (currentResult >= nums[i]) {
            calculate(nums, i + 1, currentResult - nums[i]);
        }
        // 乘法
        calculate(nums, i + 1, currentResult * nums[i]);
        
        // 如果当前数字是第一个操作数,则跳过其余的操作(因为顺序不能改变)
        if (i == index) {
            continue;
        }
        // 否则,我们已经尝试过使用当前数字作为第二个操作数,可以退出循环
        break;
    }
}

int main() {
    int n;
    cin >> n;
    vector<int> nums(n);
    
    for (int i = 0; i < n; ++i) {
        cin >> nums[i];
    }
    
    // 从第一个数字开始,初始结果为该数字的值
    calculate(nums, 1, nums[0]);
    
    // 输出方案数
    cout << count << endl;
    
    return 0;
}
/**************************************************************
	Problem: 1956
	User: wuyunfeng
	Language: C++
	Result: Wrong Answer
****************************************************************/