# Quick Start Using y_va is very simple. When you want to pass multiple additional parameters use `___(n)`, where `n` is the number of parameters you DON'T want to pass. In short, if you have a function that takes variable arguments (`...`), you can pass them all to another varargs function: ```pawn #include VarArgsFunc2(const str[], ...) { printf(str, ___(1)); } VarArgsFunc1(n, const str1[], const str2[], ...) { if (n) { VarArgsFunc2(str1, ___(3)); } else { VarArgsFunc2(str2, ___(3)); } } ``` `VarArgsFunc2` has 1 normal parameter, so we call `printf` with `___(1)`. `VarArgsFunc1` has 3 normal parameters, so calls `VarArgsFunc2` with `___(3)`. The simple way to remember is - 3 dots to take variable parameters, 3 underscores to pass them. The following code: ```pawn PrintStuff(...) { printf("%d %d %d %d %d", ___(0)); } main() { PrintStuff(0, 1, 2, 3, 4); } ``` Will print `0 1 2 3 4`.