#include <iostream>
#include <iomanip>
using namespace std;
#define DBG(x) cout << left << setw(30) << #x << boolalpha << (x) << endl;
struct CApp;
template<typename T = CApp>
struct CThread
{
void run(){
while(T::Running){
DBG(T::Running);
T::Running = false;
DBG(T::Running);
}
}
};
struct CApp
{
static bool Running;
CThread<CApp> t;
};
bool CApp::Running = true;
int main(void)
{
CApp ca;
DBG(CApp::Running);
ca.t.run();
DBG(CApp::Running);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgREJHKHgpIGNvdXQgPDwgbGVmdCA8PCBzZXR3KDMwKSA8PCAjeCA8PCBib29sYWxwaGEgPDwgKHgpIDw8IGVuZGw7CgpzdHJ1Y3QgQ0FwcDsKCnRlbXBsYXRlPHR5cGVuYW1lIFQgPSBDQXBwPgpzdHJ1Y3QgQ1RocmVhZAp7CgoJdm9pZCBydW4oKXsKCQl3aGlsZShUOjpSdW5uaW5nKXsKCQkJREJHKFQ6OlJ1bm5pbmcpOwoJCQlUOjpSdW5uaW5nID0gZmFsc2U7CgkJCURCRyhUOjpSdW5uaW5nKTsKCQl9Cgl9Cgp9OwoKc3RydWN0IENBcHAKewoJc3RhdGljIGJvb2wgUnVubmluZzsKCUNUaHJlYWQ8Q0FwcD4gdDsKfTsKCmJvb2wgQ0FwcDo6UnVubmluZyA9IHRydWU7CgppbnQgbWFpbih2b2lkKQp7CglDQXBwIGNhOwoKCURCRyhDQXBwOjpSdW5uaW5nKTsKCWNhLnQucnVuKCk7CglEQkcoQ0FwcDo6UnVubmluZyk7CgoJcmV0dXJuIDA7Cn0K