#include <iostream> #include <vector> using namespace std; struct A { A(): i(0) {cout << "default" << endl;} A(int i): i(i) { cout << "init" << endl;} A(const A& a) { cout << "copy" << endl; i = a.i; } A(A&& a) { cout << "move" << endl; i = a.i; } A& operator=(const A& a) { cout << "copy assign" << endl; i = a.i; } A& operator=(A&& a) { cout << "move assign" << endl; i = a.i; } int i; static A make() { return A(1); } }; A f(bool b) { if (b) return A(1); else return A(2); } int main() { // std::vector<A> v; // v.emplace_back(A::make()); A a; a = f(true); return 0; }
Standard input is empty
default init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init move assign init mov