#include<iostream>
using namespace std;
class rectangle
{
private :
int length;
int width;
public :
rectangle( )
{
length = 0 ;
width = 0 ;
cout << "Constructor called" << endl;
}
///constructor
rectangle( int length, int width)
{
this- > length= length;
this- > width= width;
cout << "Constructor called" << endl;
}
///copy constructor
rectangle( const rectangle & object)
{
length = object.length ;
width = object.width ;
cout << "Copy Constructor called" << endl;
}
~rectangle( ) { cout << "Destructor called" << endl; }
void area_display ( )
{
cout << "Area: " << length* width << endl;
}
friend rectangle Modify( rectangle) ;
} ;
rectangle Modify( rectangle r)
{
r.length = r.length * 2 ;
r.width = r.width * 3 ;
return r;
}
int main( )
{
int l,w;
cin >> l>> w;
rectangle r( l,w) ,m;
r.area_display ( ) ;
m= Modify( r) ;
m.area_display ( ) ;
}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNsYXNzIHJlY3RhbmdsZQp7CnByaXZhdGU6CiAgICBpbnQgbGVuZ3RoOwogICAgaW50IHdpZHRoOwpwdWJsaWM6CiAgICByZWN0YW5nbGUoKQogICAgewogICAgICAgIGxlbmd0aCA9IDA7CiAgICAgICAgd2lkdGggPSAwOwogICAgICAgICAgY291dDw8ICJDb25zdHJ1Y3RvciBjYWxsZWQiPDxlbmRsOwogICAgfQogICAgLy8vY29uc3RydWN0b3IKICAgIHJlY3RhbmdsZShpbnQgbGVuZ3RoLCBpbnQgd2lkdGgpCiAgICB7CiAgICAgICAgdGhpcy0+bGVuZ3RoPWxlbmd0aDsKICAgICAgICB0aGlzLT53aWR0aD13aWR0aDsKICAgICAgICBjb3V0PDwgIkNvbnN0cnVjdG9yIGNhbGxlZCI8PGVuZGw7CiAgICB9CiAgICAvLy9jb3B5IGNvbnN0cnVjdG9yCiAgICByZWN0YW5nbGUoY29uc3QgcmVjdGFuZ2xlICZvYmplY3QpCiAgICB7CiAgICAgICAgbGVuZ3RoID0gb2JqZWN0Lmxlbmd0aDsKICAgICAgICB3aWR0aCA9IG9iamVjdC53aWR0aDsKICAgICAgICBjb3V0PDwgIkNvcHkgQ29uc3RydWN0b3IgY2FsbGVkIjw8ZW5kbDsKICAgIH0KICAgIH5yZWN0YW5nbGUoKXtjb3V0PDwgIkRlc3RydWN0b3IgY2FsbGVkIjw8ZW5kbDt9CiAgICB2b2lkIGFyZWFfZGlzcGxheSAoKQogICAgewogICAgICAgIGNvdXQgPDwgIkFyZWE6ICIgPDwgbGVuZ3RoKndpZHRoIDw8ZW5kbDsKCiAgICB9CiAgICBmcmllbmQgcmVjdGFuZ2xlIE1vZGlmeShyZWN0YW5nbGUpOwoKfTsKcmVjdGFuZ2xlIE1vZGlmeShyZWN0YW5nbGUgcikKewogICAgci5sZW5ndGggPSByLmxlbmd0aCoyOwogICAgci53aWR0aCA9IHIud2lkdGgqMzsKICAgIHJldHVybiByOwp9CgppbnQgbWFpbigpCnsKICAgIGludCBsLHc7CiAgICBjaW4+Pmw+Pnc7CiAgICByZWN0YW5nbGUgcihsLHcpLG07CiAgICByLmFyZWFfZGlzcGxheSgpOwogICAgbT1Nb2RpZnkocik7CiAgICBtLmFyZWFfZGlzcGxheSgpOwoKfQo=