using System;
using System.Collections.Generic;
namespace Atcoder20190616
{
class ProgramA
{
static void Main(string args)
{
//数値入力する
string input = Console.ReadLine().Split();
int a = int.Parse(input[0]);
int b = int.Parse(input[1]);
if(a <= 9 && b <= 9) //aとbの両方が9以下なら計算できるので計算する
Console.WriteLine(a * b);
else //それ以外は計算できないので-1を出力
Console.WriteLine("-1");
}
}
class ProgramB
{
static void Main(string args)
{
//入力
string input = Console.ReadLine();
int n = int.Parse(input);
//九九表を作る準備
int[,] kuku = new int[9,9];
int frag = 0;
//九九表を作成する
for(int i = 0;i < 9 ;i++)
for(int j = 0;j < 9 ;j++)
kuku[i,j] = (i+1) * (j+1);
//九九表の中で一致するものがあればfrag = 1(Yes)、なければfrag = 0(No)
for(int i = 0;i < 9 ;i++)
for(int j = 0;j < 9 ;j++)
{
if(kuku[i,j] == n)
{
frag = 1;
break;
}
}
//答え出力
if(frag == 1)
Console.WriteLine("Yes");
else
Console.WriteLine("No");
}
}
class ProgramC
{
static void Main(string args)
{
//入力
string input = Console.ReadLine();
ulong n = int.Parse(input);
//ありえないほど大きい数を答えに入れておく
ulong ans = 1000000000000;
//sqrt(n)までで割ってみて割れるならその時の移動数を求める。
for(ulong i = 1; i <= Math.sqrt(n);i++)
{
if(n % i == 0)
{
ulong a = n / i;
ulong count = a + i - 2; //移動数
if(count < ans)
ans = count; //移動が小さいなら更新
}
}
//答え出力
Console.WriteLine(ans);
}
}
class ProgramD
{
static void Main(string args)
{
//入力
string input = Console.ReadLine().Split();
double a = double.Parse(input[0]);
double b = double.Parse(input[1]);
double x = double.Parse(input[2]);
double ans = 0;
//水の量が1/2より大きいかどうかで場合分けをする
if(x > a*a*b/2.0)
{
double c = 2.0 * x /a/a - b;
double cos = a/Math.Sqrt(a*a + (b-c)*(b-c)); //水が1/2より大きいときのcosの値
}
else
{
double d = 2.0 * x /a/b;
double sin = d / Math.Sqrt(d*d + b*b); //水が1/2以下のときのcosの値
}
//答え出力
Console.WriteLine(ans);
}
}
class ProgramE
{
static void Main(string args)
{
//入力
string input = Console.ReadLine().Split();
int = int.Parse(input[0]);
long k = long.Parse(input[1]);
//配列準備
long eat = new long[n];
long food = new long[n];
long sec = new long[n];
//消費コストを配列格納
string input_a = Console.ReadLine().Split();
for(int i = 0; i < n; i++)
eat[i] = long.Parse(input_a[i]);
//食べにくさを配列格納
string[] input_f = Console.ReadLine().Split();
for(int i = 0; i < n; i++)
food[i] = long.Parse(input_f[i]);
long check = 0;
//修行で減らせる最大回数を計算
for(int i = 0; i < n; i++)
check += eat[i];
//もし最大以上なら食べる時間を0にできるので0とする
if( k >= check)
{
Console.WriteLine("0");
return; //ここでおわり
}
//食べる力を昇順、食べにくさを降順にする
Array.Sort(eat);
Array.Sort(food);
Array.Reverse(food);
//それぞれの人が食べる時間を出す。
for(int i = 0; i < n; i++)
sec[i] = food[i] * eat[i];
//一番かかる場合を出す。最小は0とする
long max = sec.Max();
long min = 0;
//二分探索法。考え方はすべての人がx秒以内に食べられるかを検討し、できるならその秒数を最大にする。
//できないならその秒数よりは大きくなるので最小にする。最終的に秒数の差が1秒以内に収まるはずなのでその時の最大を出力
while(max != min + 1)
{
//とりあえず真ん中の数でそれより大きいか小さいかを探す
long x =(max + min) /2;
long count = 0;
for (int i = 0; i < n; i++)
{
//減らさないとならなない秒数を計算。それに応じてカウントする
if (sec[i] > x)
{
if((sec[i] - x)%food[i] == 0)
count += (sec[i] - x)/food[i];
else
count += (sec[i] - x)/food[i] + 1;
}
}
//可能なら最大秒に、不可能なら最小秒にする
if(count < k)
max = x;
else
min = x;
}
//結果出力
Console.WriteLine(max);
}
}
}