#include <iostream>
#include <stack>
using namespace std;

int main() {
	string s("10010001000100001111100010001000");
//	cin>>s;
	stack < char > data;
	stack < char > hexed;
	data.push('0');data.push('0');data.push('0');
	for(char a:s)data.push(a);
	while(data.size() > 3){
		switch(data.top()){
			case '0':
				data.pop();
				switch(data.top()){
					case '0':
						data.pop();
						switch(data.top()){
							case '0':    
								data.pop();
								switch(data.top()){
									case '0': // 0000
										data.pop();
										hexed.push('0');
										break;
									case '1': // 1000
										data.pop();
										hexed.push('8');
										break;
								}
								break;
							case '1':
								data.pop();
								switch(data.top()){
									case '0': // 0100
										data.pop();
										hexed.push('4');
										break; 
									case '1': // 1100
										data.pop();
										hexed.push('C');
										break;
								}
								break;
						}
						break;
					case '1':
						data.pop();
						switch(data.top()){
							case '0':    
								data.pop();
								switch(data.top()){
									case '0': // 0010
										data.pop();
										hexed.push('2');
										break;
									case '1': // 1010
										data.pop();
										hexed.push('A');
										break;
								}
								break;
							case '1':
								data.pop();
								switch(data.top()){
									case '0': // 0110
										data.pop();
										hexed.push('6');
										break; 
									case '1': // 1110
										data.pop();
										hexed.push('E');
										break;
								}
								break;
						}
						break;
				}
				break;
			case '1':
				data.pop();
				switch(data.top()){
					case '0':
						data.pop();
						switch(data.top()){
							case '0':    
								data.pop();
								switch(data.top()){
									case '0': // 0001
										data.pop();
										hexed.push('1');
										break;
									case '1': // 1001
										data.pop();
										hexed.push('9');
										break;
								}
								break;
							case '1':
								data.pop();
								switch(data.top()){
									case '0': // 0101
										data.pop();
										hexed.push('5');
										break; 
									case '1': // 1101
										data.pop();
										hexed.push('D');
										break;
								}
								break;
						}
						break;
					case '1':
						data.pop();
						switch(data.top()){
							case '0':    
								data.pop();
								switch(data.top()){
									case '0': // 0011
										data.pop();
										hexed.push('3');
										break;
									case '1': // 1011
										data.pop();
										hexed.push('B');
										break;
								}
								break;
							case '1':
								data.pop();
								switch(data.top()){
									case '0': // 0111
										data.pop();
										hexed.push('7');
										break; 
									case '1': // 1111
										data.pop();
										hexed.push('F');
										break;
								}
								break;
						}
						break;
				}
				break;
		}
	}
	while(hexed.size()){ cout<<hexed.top();hexed.pop(); }

//PS: Обработку остальных "цифр" не прописал - лень
	return 0;
}