// ..
//:       mailto:dmitro@russian.ru
//: 1.6

// ..=Classes\...ert : 
//{
//	void ( ,  ="",  ="",  ="",  ="");
//	void ();
//	void (, , );
//	void ();
//	void (,,);
//	void (,,);
//	void (,,);
//	void ();
//	void (, , , , );
//	void ();
//};

 ;
 ;

 ;
 ;

 ;
 ;
  ;
 ;

 ()  ; 

 ()
	=().("");
	
	=("");
	.("",,,);
	
	.("","",,);
	.("",,,);
	.("2",,,);
	.("","",,);
	.("","",,);
	
	.("","",,);
	.("",,,);
	.("2",,,);
	.("","",,);
	.("","",,);
	
	=5;
	
	=-1;
	=0;


 ()
	=0;


 () 
	//=().("");
	.();


 () 
	.();
	=-1;


 (,,,,)
	//=().("");
	
	=.();
	
	.();
	.=;
	
	 ()=1 
	 (="T")(="H")(="TH")(="BR") 
		.=;
	
		//#error    
	;

	 ="BR" 
		=(,",");
		 =0 
			//#error    
		;
		
		=(,-1);
		=(,+1);
		
		 (="")(()=1) 
		
			.=.();
		;
		
		 (="")(()=1) 
		
			.2=.();
		;
	
		 (="")(()=1) 
		
			.=.();
		;
	;
	
	 ()=1 
	 (="L")(="W")(="LW")(="BR") 
		.=;
	
		//#error    
	;

	 ="BR" 
		=(,",");
		 =0 
			//#error    
		;
		
		=(,-1);
		=(,+1);
		
		 (="")(()=1) 
		
			.=.();
		;
		
		 (="")(()=1) 
		
			.2=.();
		;
	
		 (="")(()=1) 
		
			.=.();
		;
	;


 (,,,,) 
	=;
	 ()=0 
		=(,",");
		 =0 
			((),,,,);
			="";
		
			(((,-1)),,,,);
			=(,+1);
		;
	;


 (,)
	 (.)=0 
		..(,);
	;
	
	 (.)=0 
		..();
	;


 2(,)
	 (.2)=0 
		.2.(,);
	;
	
	 (.2)=0 
		.2.();
	;


 ()
	 , , , ;
	
	=;
	=;
	
	.();
	 .()=1 
		
		=;
		=;
		
		(,);
		
		 (.="BR")(.="BR") 
			2=;
			2=-1;
			2(2,2);
		;
		
		..(, , , );
		
		 .="T" 
			.=-;
		 .="H" 
			.=--;
		 .="TH" 
			.=--;
			.=/;
		 .="BR" 
			.=-;
			.=+-2;
		;
		
		 .="L" 
			.=-;
		 .="W" 
			.=--;
		 .="LW" 
			.=--;
			.=/;
		 .="BR" 
			.=-;
			.=+-2;
		;
		
	;
	
	=0;


 (,,) 
	 , , , ;
	
	 =-1 
		//=().("");
		=.;
		=.;
		=1;
		;
	;
	
	 <>0 
		;
	;
	
	//=().("");
	=.;
	=.;
	
	.();
	 .()=1 
		
		 =. 
			;
		;
		
		=;
		=;
		(,);
		
		 (.="BR")(.="BR") 
			2=;
			2=;
			2(2,2);
		;
		
		..(, , , );
		
		 .="T" 
			=-.;
		 .="H" 
			=--.;
		 .="TH" 
			=(*.);
			=--.;
		 .="BR" 
			=+.;
			=2+.-;
		;
		
		 .="L" 
			=-.;
		 .="W" 
			=--.;
		 .="LW" 
			=(*.);
			=--.;
		 .="BR" 
			=+.;
			=2+.-;
		;
		
		..(, , , );
	;


 () 
	();
	(0,0,0);


 (,,) 
	 , , , ;
	
	.();
	 .()=1 
		// ..=1  //       
			 .="LW" 
				..(, , , );
				 (>=-)(<) 
					 (>=)(<+) 
						=.;
						=-;
					;
				;
			 .="TH" 
				..(, , , );
				 (>=-)(<) 
					 (>=)(<+) 
						=.;
						=-;
					;
				;
			;
		//;
	;


 ()
	 , , , ;
	
	.();
	=.;
	.(, , , );
	//=().("");
	 .="LW" 
		.=/.;
	 .="TH" 
		.=/.;
	;
	=0;


 (,)
	 , , , ;
	
	.();
	=.;
	.(, , , );
	
	 .="LW" 
		=+;
		=+-;
		=;
	 .="TH" 
		=+;
		=+-;
		=;
	;
	.(, , , );
	
	(0,0,0);


 (,,) 
	 <>0 
		();
	;


 (,,) 
	 <>0 
		 =0 
			();
		
			(,);
		;
	;


 (, , , , ) 
	 , , , ;
	 , , , ;
	
	//=().("");
	
	=.();
	.(, , , );
	
	=.();
	.(, , , );
	
	 ="R" 
		 ="R" 
			=+-+;
		 ="L" 
			=-+;
		
			//#error    
		;
	 ="L" 
		 ="R" 
			=++;
			=+-;
			=;
		 ="L" 
			=+;
			=+-;
			=;
		
			//#error    
		;
	 ="B" 
		 ="B" 
			=+-+;
		 ="T" 
			=-+;
		
			//#error    
		;
	 ="T" 
		 ="B" 
			=++;
			=+-;
			=;
		 ="T" 
			=+;
			=+-;
			=;
		
			//#error    
		;
	
		//#error   
	;
	.(, , , );
	();


 () 
	//=().("");
	=.;
	=.;
	();

