//<your name here>
//Working the stax   algorithm

///prototypes
bool endState(vector<int> v);
///Return true only if the input is a vector of the form {1,2,3,...,k}

void show_stacks(vector<int> v);
///Print the vector v

void show_history(vector< vector<int> > history);
///Print the sequence of vectors in history

bool is_new(vector<int> v, vector< vector<int> > history)
///Compare the vector v (the latest addition to history)
///with all the previous vectors in history.  If there's no match
///return true.  If there is a match, return false

void move(vector<int>& v);
///Perform the Stax move on v
///note that, since v is passed by reference, it will change v.

int main() {
	vector<int> vStax;
	vector< vector<int> > playHistory;
	///Get the user's input for the initial vector of stax
	///and start building playHistory with the first vector.

	///loop the moves, building the playHistory
	///and checking at each loop 
	///for endState(vStax)) and is_new(vStax,playHistory)        

	///When the a root loop is found (or an end state), display
	///the number of moves it took to get there and the size of the root loop. 
}