
#include <iostream>

using namespace std;

class bfname
{
public:
	int you;
	string name;

	bfname()
	{
		you = 1;
		name = "bfname";
	}
};

class YourName
{
public:
	int me;
	string name;

	YourName()
	{
		me = 1;
		name = "yourname";
	}

	void myLoveforBF(int lvl, bfname &you)
	{
			if((me & you.you))
			{
				if(lvl == 100)
				{
					cout << "it's now so deep not the stack, ints, longs or even long longs can handle it" <<endl << "I just want you to know that i really love you " + you.name << endl;
					cout << endl << endl;
					cout << "WWW  WWW      .W.      WWWWWWW,  WWWWWWW, 'WWW. .WWW' "<<endl;
					cout << "WWW  WWW     .WWW.     WWW  WWW  WWW  WWW  'WWW WWW'"<<endl;
					cout << "WWWWWWWW    .WW WW.    WWWWWWW'  WWWWWWW'   'WWWWW'"<<endl;
					cout << "WWW  WWW   .WWWWWWW.   WWW       WWW         'WWW'"<<endl;
					cout << "WWW  WWW  .WWW   WWW.  WWW       WWW          WWW"<<endl;
					cout << endl << endl;
					cout << " .,,. .,,." << endl;
					cout << ":XXXX,XXXX:                   .SSSSSSS'" << endl;
					cout << "'XXXXXXXXX'                 .SSSSSSSS,WW:,  .''':,." << endl;
					cout << " ':XXXXX:'                .SSSSSSSSSS:WWW:,       '::," << endl;
					cout << "   'XXX'                 .SSSSSSSSS,WWW( )WW        '::,  '////" << endl;
					cout << "    ':'                  SSSSSSSSSSSS'WWWWWWD         '::,////" << endl;
					cout << "                   ,.    SSSSSSS(((SSSWWWWW          ,WW//:.'.W." << endl;
					cout << "                 ,((()   'SSSSSS(((WWWWWWWWWW)        //'W,:WWWW'" << endl;
					cout << "               ,(((((()   'SSSSSS((WWWWWWWWWW)      //   'WWW,WWW" << endl;
					cout << "            .,(((((((())    'SSSSWWWWWWWWWWW'     //     .WWWWW:," << endl;
					cout << "         .,((((((((((())),     SSWWWWWWWWWW'    //      ,WWWW' ':," << endl;
					cout << "     .,((((((((((((((())))),.,,,,WWWWWWWWWW:, //       ,WWWWW'  ':" << endl;
					cout << "'((((((((((((((((((((()))))WWWWWWWWWWWWWVVVV//WWWWW:,.,WWWWW'    :" << endl;
					cout << "((((((((((((((((((()))(WWWWWWWWWWWWWWVVVVVVWWWWWWWWWWWWW'    '" << endl;
					cout << "((((((((((((((((()))(WWWWWWWWWWWWWVVVVVVVWWWWWWWWWWWW'" << endl;
					cout << "(((((((((((((())(()(WWWWWWWWW.VVVVVVVWWWWWWWWWWW:'" << endl;
					cout << "    ((((((((())) ()(WWWWWW.VVVVVVV'WWWWWWW''      .,,. .,,." << endl;
					cout << "       ((((()))   ((WW,VVVVVVVVV'WWWWWWWWW       :XXXX,XXXX:" << endl;
					cout << "                    WVVVVVVVVVV'WWWWWWWW:'       'XXXXXXXXX'" << endl;
					cout << " .,,. .,,.             VVVVVVVVV'WWWWWWWWWW          ':XXXXX:'" << endl;
					cout << ":XXXX,XXXX:          .WVVVVVVV'WWWWWWWWWWWW            'XXX'" << endl;
					cout << "'XXXXXXXXX'         .WWW''''',WWWWWWWWWWWW:             ':'" << endl;
					cout << " ':XXXXX:'        (())))WWWWWWWWWWWWWWWWW'" << endl;
					cout << "   'XXX'         ((())))))WWWWWWWWWWWWWW'" << endl;
					cout << "'    :'         ((()))))))))WWWWWWWWWWW'" << endl;
					cout << "                ()WWWWWW))))))))))))))))" << endl;
					cout << "                :WWWWWWWWW))))))))))))))     .,,. .,,." << endl;
					cout << "                WWWWWWWWWWW)))))))WWWWW.    :XXXX,XXXX:" << endl;
					cout << "               :WWWWWWWWWW')))))WWWWWWWW.   'XXXXXXXXX'" << endl;
					cout << "               WWWWWWWWWW'  'WWWWWWWWWWWW    ':XXXXX:'" << endl;
					cout << "     .,,:WWWW:,WWWWWWWWW'    'WWWWWWWWWWW      'XXX'" << endl;
					cout << "    ,WWWWWWWWWWWWWWWWWW'       'WWWWWWWWW       ':'" << endl;
					cout << "   ,WWWWWWWWWWWWWWWWWW'         'WWWWWWWW," << endl;
					cout << "  WWWWWWW'   '':WWW:'           'WWWWWWWW" << endl;
					cout << ".WWWWWWW'                      .WWWWWWWWW" << endl;
					cout << "''W'W'WW                      ,WWWWWWWWW'          .,,. .,,." << endl;
					cout << "      ''                     ,WWWWWWWW'           :XXXX,XXXX:" << endl;
					cout << "      .,,. .,,.             .WWWWWW:'             'XXXXXXXXX'" << endl;
					cout << "     :XXXX,XXXX:         .WWWWWWW'                 ':XXXXX:'" << endl;
					cout << "     'XXXXXXXXX'         WWWWWW'                     'XXX'" << endl;
					cout << "      ':XXXXX:'           WWWWW'                      ':'" << endl;
					cout << "        'XXX'              WWWW." << endl;
					cout << "         ':'               'WWWWW," << endl;
					cout << "                            '' ''" << endl;
					cout << endl << endl;
					cout << "W    WW  .WW.    WW     WWWWWW WW. WW WWWWWW WW WW. WW WWWWWW ,WWWW." << endl;
					cout << "W.  .WW .WWWW.   WW     WW     WWW.WW   WW   WW WWW.WW WW     WW" << endl;
					cout << "WW  WW'.WW  WW.  WW     WWWW   WWWWWW   WW   WW WWWWWW WWWW   'WWWW," << endl;
					cout << "'WWWW'.WWWWWWWW. WW     WW     WW'WWW   WW   WW WW'WWW WW         WW" << endl;
					cout << " 'WW'.WW      WW.WWWWWW WWWWWW WW 'WW   WW   WW WW 'WW WWWWWW 'WWWW'" << endl;

					cout << "                  WWWWW:.     .WW.  'WW.  .WW'" << endl;
					cout << "                  WW  'WW.   .WWWW.  'WW..WW'" << endl;
					cout << "                  WW   :W:  .WW  WW.   'WW'" << endl;
					cout << "                  WW  .WW  .WWWWWWWW.   WW" << endl;
					cout << "                  WWWWWW    W      W    WW " << endl;
					return;
				}
				else
				{
					cout << "and deeper ";
					myLoveforBF(lvl + 1,you);
				}
			}
	}
};

int main()
{
	bfname you;
	YourName me;
	cout << "my love for you grows deeper ";
	me.myLoveforBF(0,you);
}
