How many times copy constructor would be invoked

Question | Apr 27, 2016 | hkumar 

How many times the copy constructor - A(const A&) - would be invoked in below code?

struct A {
    A();
    A(const A& a);
};

A Foo() {
   return A();
}

A a = Foo();