#include <iostream>
using namespace std;
#include <cstdlib>
#include <gmp.h>
#include <cstdarg>
#include <vector>
#include <bitset>

int add2 (int a, int b) {
    return a+b;
}

template <int arr_l, int bit_l>
bitset<arr_l*bit_l> merge(bitset<bit_l>* bs) {
    string s = "";
    for (int i = 0; i < arr_l; i++) {
        s = s + bs[i].to_string();
    }
    return bitset <arr_l*bit_l>(s);
}

int main(int argc, char *argv[]){
    /*
    bitset<9> b[3];
    b[0] = 4;
    b[1] = 11;
    b[2] = 18;
    */
    int (*f)(int, int);
    f = &add2;
    cout << f( 3, 4 ) << endl;
    return 0;
}
