#include<iostream>
#include<algorithm>
#include<stack>
#include<sstream>
using namespace std;
//十进制转二进制
int itob(int decimal){
stack<int> s;
int res=0;
while(decimal!=0){
s.push(decimal%2);
decimal/=2;
}
while(!s.empty()){
res=res*10+s.top();
s.pop();
}
return res;
}
//逆序单词
void transfer(){
string str;
stack<string> s;
getline(cin,str);
stringstream ss;
ss<<str;
while(ss>>str)
s.push(str);
while(!s.empty()){
cout<<s.top();
s.pop();
if(s.size()!=0)
cout<<" ";
}
}
int main(){
//构造栈
stack<int> s;
//push入栈,pop出栈,top取栈顶元素,size查看元素个数
s.push(2);
s.push(3);
cout<<s.top()<<endl;
s.pop();
cout<<s.top()<<endl;
cout<<s.size()<<endl;
cout<<itob(10)<<endl;
transfer();
return 0;
}