import std.stdio;
import std.conv;
import std.algorithm;
import std.string;
import std.file;
import std.math;
int main() {
	char[] digits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
	
	string l;
	while((l = readln().chomp, l.length)){
		bool overflow = false;
		
		int n = to!int(l);
		
		char[] a, b, c;
		for(int i=0; i<80; i++) c ~= '0';
		
		a = ['1'];
		if(a.length > 80) overflow = true;
		a = c ~ a;
		a = a[$ - 80 .. $];
		
		for(char k = 1; k <= n; k++){
			for(int i = 79; i >= 0; i--){
				int t = (c[i] - '0') + (a[i] - '0') * k;
				if(t >= 10){
					if(i == 0) overflow = true, t = 0;
					else while(t >= 10) c[i-1] += 1, t -= 10;
					}
				c[i] = digits[t];
				}
			a[] = c[];
			for(int i=0; i<80; i++) c[i] = '0';
			}
		
		if(overflow) printf("overflow\n");
		else{
			int i;
			for(i = 0; i < 79; i++){
				if(a[i] != '0') break;
				}
			a = a[i .. $];
			write(a ~ '\n');
			}
		}
	return 0;
	}