#include<iostream>
#include <cstdlib>

int posbit(int n)
{
	int p= 0;
	while (n>0) {
		++p;
		if ((n&1) != 0) 
			return p;
		n>>=1;
	}
	return p;
}

int main(int argc, char *argv[])
{
	int n;
	if (argc<2) {
		std::cerr << "uso: " << argv[0] << " n\n";
		return EXIT_FAILURE;
	}
	n= atoi(argv[1]);
	std::cout << posbit(n) << std::endl;

	int m= 1 << n;
	for (int k=1; k<m; ++k) {
		std::cout << "mover disco " << posbit(k) << std::endl;
	}	
	return EXIT_SUCCESS;
}
