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

void Print(int v)
{
    cout << v << endl;
}

void Print(double v)
{
    cout << v << endl;
}

template<typename FnT>
void Function(int v, FnT&& fn)
{
    fn(v);
}

int main() {

    Function(1, Print);

	vector<int> v = { 1,2,3 };
    for_each(v.begin(), v.end(), Print);

	return 0;
}