#include <utility>
#include <vector>
template <class Function, std::size_t... indexes>
void call(std::vector<int> &v, Function &&function, std::index_sequence<indexes...>) {
function(v[indexes]...);
}
#include <iostream>
void f(int, int, int){
std::cout << "Success!\n";
}
int main() {
std::vector<int> v{1, 2, 3};
call(v, f, std::make_index_sequence<3>());
}
I2luY2x1ZGUgPHV0aWxpdHk+CiNpbmNsdWRlIDx2ZWN0b3I+Cgp0ZW1wbGF0ZSA8Y2xhc3MgRnVuY3Rpb24sIHN0ZDo6c2l6ZV90Li4uIGluZGV4ZXM+CnZvaWQgY2FsbChzdGQ6OnZlY3RvcjxpbnQ+ICZ2LCBGdW5jdGlvbiAmJmZ1bmN0aW9uLCBzdGQ6OmluZGV4X3NlcXVlbmNlPGluZGV4ZXMuLi4+KSB7CiAgICBmdW5jdGlvbih2W2luZGV4ZXNdLi4uKTsKfQoKI2luY2x1ZGUgPGlvc3RyZWFtPgoKdm9pZCBmKGludCwgaW50LCBpbnQpewogICAgc3RkOjpjb3V0IDw8ICJTdWNjZXNzIVxuIjsKfQoKaW50IG1haW4oKSB7CglzdGQ6OnZlY3RvcjxpbnQ+IHZ7MSwgMiwgM307CgljYWxsKHYsIGYsIHN0ZDo6bWFrZV9pbmRleF9zZXF1ZW5jZTwzPigpKTsKfQ==