| 
					
				 | 
			
			
				@@ -11,12 +11,21 @@ Fraction::Fraction(long long int num, long long int denum) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int layer, spec; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while(num > 1 or denum > 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (num == 0 or denum == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cout << num + denum << endl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            layers.add(num + denum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         layer = num / denum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         spec = denum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         denum = num - (layer*denum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num = spec; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cout << layer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         layers.add(layer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cout << " added\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cout << num << ' ' << denum << endl;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cout << "init success" << endl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Fraction::Fraction(Rational r) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -45,8 +54,19 @@ Fraction::operator Rational() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return Rational(denum, num); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Fraction::operator double() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return double(Rational(*this)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Fraction::operator int() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return int(double(*this)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ostream& operator <<(ostream& out, Fraction& f) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cout << "<< oper" << endl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     out << f.layers; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return out; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |