- #include <iostream> 
- using namespace std; 
-   
- template <class T>  
- class FC 
- { 
- private:  
-     T netprofit, costofinvest; 
-     T curras, invent, curliab; 
- public:  
-   
-     void ROI(T np, T ci) 
-     { 
-      netprofit = np; costofinvest = ci; 
-     } 
-   
-     T getROI() 
-     { 
-      return (netprofit - costofinvest) / costofinvest; 
-     } 
-   
-     void ATR(T ca, T inv, T cl) 
-     { 
-      curras = ca; invent = inv; curliab = cl; 
-     } 
-   
-     T getATR() 
-     { 
-     return (curras - invent) / curliab; 
-     } 
-   
- }; 
-   
-   
- int main() 
- { 
- 	{ 
- 	 FC<float> ROI, AcidTestRatio;  
-   
- 	 ROI.ROI(27, 288); 
- 	 cout << ROI.getROI() << endl; 
-   
- 	 AcidTestRatio.ATR(77, 2l, 344); 
- 	 cout << AcidTestRatio.getATR() << endl; 
- 	} 
- 	{ 
- 	 FC<int> ROI, AcidTestRatio;  
-   
- 	 ROI.ROI(27, 288); 
- 	 cout << ROI.getROI() << endl; 
-   
- 	 AcidTestRatio.ATR(77, 2l, 344); 
- 	 cout << AcidTestRatio.getATR() << endl; 
- 	} 
-   
- return 0; 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGUgPGNsYXNzIFQ+IApjbGFzcyBGQwp7CnByaXZhdGU6IAogICAgVCBuZXRwcm9maXQsIGNvc3RvZmludmVzdDsKICAgIFQgY3VycmFzLCBpbnZlbnQsIGN1cmxpYWI7CnB1YmxpYzogCgogICAgdm9pZCBST0koVCBucCwgVCBjaSkKICAgIHsKICAgICBuZXRwcm9maXQgPSBucDsgY29zdG9maW52ZXN0ID0gY2k7CiAgICB9CgogICAgVCBnZXRST0koKQogICAgewogICAgIHJldHVybiAobmV0cHJvZml0IC0gY29zdG9maW52ZXN0KSAvIGNvc3RvZmludmVzdDsKICAgIH0KCiAgICB2b2lkIEFUUihUIGNhLCBUIGludiwgVCBjbCkKICAgIHsKICAgICBjdXJyYXMgPSBjYTsgaW52ZW50ID0gaW52OyBjdXJsaWFiID0gY2w7CiAgICB9CgogICAgVCBnZXRBVFIoKQogICAgewogICAgcmV0dXJuIChjdXJyYXMgLSBpbnZlbnQpIC8gY3VybGlhYjsKICAgIH0KCn07CgoKaW50IG1haW4oKQp7Cgl7CgkgRkM8ZmxvYXQ+IFJPSSwgQWNpZFRlc3RSYXRpbzsgCgkKCSBST0kuUk9JKDI3LCAyODgpOwoJIGNvdXQgPDwgUk9JLmdldFJPSSgpIDw8IGVuZGw7CgkKCSBBY2lkVGVzdFJhdGlvLkFUUig3NywgMmwsIDM0NCk7CgkgY291dCA8PCBBY2lkVGVzdFJhdGlvLmdldEFUUigpIDw8IGVuZGw7Cgl9Cgl7CgkgRkM8aW50PiBST0ksIEFjaWRUZXN0UmF0aW87IAoJCgkgUk9JLlJPSSgyNywgMjg4KTsKCSBjb3V0IDw8IFJPSS5nZXRST0koKSA8PCBlbmRsOwoJCgkgQWNpZFRlc3RSYXRpby5BVFIoNzcsIDJsLCAzNDQpOwoJIGNvdXQgPDwgQWNpZFRlc3RSYXRpby5nZXRBVFIoKSA8PCBlbmRsOwoJfQoKcmV0dXJuIDA7Cn0=