#include <iostream>
#include <vector>
using namespace std;
typedef void(*wskazniktab)(double*, int);
typedef void(*wskaznik)(vector <double> &, int);
typedef void(*wskaznikint)(vector <int> &, int);
void sort1 (double tab[], int i);
void sort2 (double tab[], int i);
template <typename Item>
void sort1(vector <Item> &tab, int i);
template <typename Item>
void sort2(vector <Item> &tab, int i);
void sortuj(wskaznik funkcje[], vector <double> &dane, int i){
funkcje[0](dane, i);
funkcje[1](dane, i);
}
void sortuj(wskazniktab funkcje[], double dane[], int i){
funkcje[0](dane, i);
funkcje[1](dane, i);
}
int main() {
wskaznik nazwy[2]={sort1<double>, sort2<double>};
wskazniktab nazwytab[2]={sort1, sort2};
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiB2b2lkKCp3c2them5pa3RhYikoZG91YmxlKiwgaW50KTsKdHlwZWRlZiB2b2lkKCp3c2them5paykodmVjdG9yIDxkb3VibGU+ICYsIGludCk7CnR5cGVkZWYgdm9pZCgqd3NrYXpuaWtpbnQpKHZlY3RvciA8aW50PiAmLCBpbnQpOwogCnZvaWQgc29ydDEgKGRvdWJsZSB0YWJbXSwgaW50IGkpOwp2b2lkIHNvcnQyIChkb3VibGUgdGFiW10sIGludCBpKTsKIAp0ZW1wbGF0ZSA8dHlwZW5hbWUgSXRlbT4Kdm9pZCBzb3J0MSh2ZWN0b3IgPEl0ZW0+ICZ0YWIsIGludCBpKTsKIAp0ZW1wbGF0ZSA8dHlwZW5hbWUgSXRlbT4Kdm9pZCBzb3J0Mih2ZWN0b3IgPEl0ZW0+ICZ0YWIsIGludCBpKTsKCgp2b2lkIHNvcnR1aih3c2them5payBmdW5rY2plW10sIHZlY3RvciA8ZG91YmxlPiAmZGFuZSwgaW50IGkpewogICAgZnVua2NqZVswXShkYW5lLCBpKTsKICAgIGZ1bmtjamVbMV0oZGFuZSwgaSk7Cn0KIAp2b2lkIHNvcnR1aih3c2them5pa3RhYiBmdW5rY2plW10sIGRvdWJsZSBkYW5lW10sIGludCBpKXsKICAgIGZ1bmtjamVbMF0oZGFuZSwgaSk7CiAgICBmdW5rY2plWzFdKGRhbmUsIGkpOwp9CgoKaW50IG1haW4oKSB7CiAgICB3c2them5payBuYXp3eVsyXT17c29ydDE8ZG91YmxlPiwgc29ydDI8ZG91YmxlPn07CiAgICB3c2them5pa3RhYiBuYXp3eXRhYlsyXT17c29ydDEsIHNvcnQyfTsKCXJldHVybiAwOwp9