#include <iostream>
using namespace std;

void _gay();
void _gay2();

void(*gay)() = _gay;


void _gay()
{
	printf("_gay\n");
	static bool inited = false;
	if (!inited)
	{
		printf("rare stuff here\n");
		gay = _gay2;
		inited = true;
	}
	
	_gay2();
}

void _gay2()
{
	printf("_gay2\n");
	printf("actual work\n");
}


int main() {
	gay();
	gay();
	return 0;
}