Which changes, introduced independently, will allow the code to compile and display "one” "eight" "nine" "ten”? Choose all that apply
A. operator int() const {return a;} inserted at Place 1
B. bool operator < (const A & b) const {return a<b.a;} inserted at Place 1
C. bool operator < (const A & b) const {return b.a<a;} inserted at Place 1
D. struct R {bool operator ()(const A & a, const A & b) {return a.getA()<b.getA();}}; inserted at Place 2
replacing line marked 3 with map<A, string, R> m;
replacing line marked 4 with map<A, string,R>::iterator i=m.begin();