#include <iostream>
#include <thread>

volatile int run = true;

using namespace std;
class thA
{
    public:
    int fun(int a, int b, int c)
    {
        cout << "Farewell World" << endl;
        run = false;
   	    return a + b + c;
    }
    int fun()
    {
        cout << "Hello World" << endl;
        run = false;
        return 0;
    }
};
int main()
{
    thA a;

    using func = int (thA::*)(int,int,int);

    thread classAAA( func(&thA::fun), a, 0, 1, 2);

    classAAA.detach();
    while(run){}
    return 0;
}
