using System;

class Kompleksni
    {
        private double re;
        private double im;
        
        public double Re
        {
            get { return re; }
            set { re = value; }
        }
        
        public double Im
        {
            get { return im; }
            set { im = value; }
        }
 
        public Kompleksni()
        {
            re = 0;
            im = 0;
        }
 
        public Kompleksni(double realni, double imaginarni)
        {
            re = realni;
            im = imaginarni;
        }
        
         public Kompleksni(Kompleksni broj)
        {
            re = broj.Re;
            im = broj.Im;
        }
 
        public static Kompleksni operator +(Kompleksni Z1, Kompleksni Z2)
        {
            Kompleksni Z3 = new Kompleksni();
            Z3.re = Z1.re + Z2.re;
            Z3.im = Z1.im + Z2.im;
            return Z3;
        }
 
        public void Prikaz()
        {
            Console.Write(re);
            if (im > 0)
                Console.WriteLine("+j" + im);
            else
                Console.WriteLine("-j" + -im);
        }
    }
 
    public class Program
    {
        public static void Main(string[] args)
        {
            Kompleksni Z1 = new Kompleksni(2, -5);
            Kompleksni Z2 = new Kompleksni(-3, -3);
 
            Console.Write("Z1 = ");
            Z1.Prikaz();
            Console.Write("Z2 = ");
            Z2.Prikaz();
 
            Kompleksni Z3 = new Kompleksni();
 
            Console.Write("Zbir Z1 i Z2: Z3 = ");
            Z3 = Z1 + Z2;
            Z3.Prikaz();
            
            Z1.Re = 10;
            Z1.Im = 10;
            Console.Write("Nova vrednost za Z1 = ");
            Z1.Prikaz();
            
            Kompleksni Z4 = new Kompleksni(Z3);
            Console.Write("Napravili sa k.kopije Z4 = ");
            Z4.Prikaz();
 
       }
    }