program ideone;
function Y(x: Real): Real;
begin
Y := Ln(x + 0.5) + Exp(x) - Exp(-x);
end;
function Calc(z: Real; showInfo: Boolean): Real;
begin
if z < -1 then begin
if showInfo then
WriteLn('z < - 1');
Calc := Y((-z) / 3)
end
else begin
if showInfo then
WriteLn('z >= - 1');
Calc := Y(Abs(z));
end
end;
var
z: Real;
ch: Char;
showInfo: Boolean;
begin
WriteLn('Enter z:');
ReadLn(z);
WriteLn('Show info? (Y/n)');
ReadLn(ch);
showInfo := ch = 'y';
WriteLn(Calc(z, showInfo));
end.
cHJvZ3JhbSBpZGVvbmU7CmZ1bmN0aW9uIFkoeDogUmVhbCk6IFJlYWw7CmJlZ2luCglZIDo9IExuKHggKyAwLjUpICsgRXhwKHgpIC0gRXhwKC14KTsKZW5kOwpmdW5jdGlvbiBDYWxjKHo6IFJlYWw7IHNob3dJbmZvOiBCb29sZWFuKTogUmVhbDsKYmVnaW4KCWlmIHogPCAtMSB0aGVuIGJlZ2luCgkJaWYgc2hvd0luZm8gdGhlbgoJCQlXcml0ZUxuKCd6IDwgLSAxJyk7CgkJQ2FsYyA6PSBZKCgteikgLyAzKQoJZW5kCgllbHNlIGJlZ2luCgkJaWYgc2hvd0luZm8gdGhlbgoJCQlXcml0ZUxuKCd6ID49IC0gMScpOwoJCUNhbGMgOj0gWShBYnMoeikpOwoJZW5kCmVuZDsKdmFyCiAgejogUmVhbDsKICBjaDogQ2hhcjsKICBzaG93SW5mbzogQm9vbGVhbjsKYmVnaW4KCVdyaXRlTG4oJ0VudGVyIHo6Jyk7CglSZWFkTG4oeik7CglXcml0ZUxuKCdTaG93IGluZm8/IChZL24pJyk7CglSZWFkTG4oY2gpOwoJc2hvd0luZm8gOj0gY2ggPSAneSc7CglXcml0ZUxuKENhbGMoeiwgc2hvd0luZm8pKTsKZW5kLg==