jiahuimbzuai/CoQuIR huggingface dataset:
//  [cpp]
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int read(){
	int ans=0,f=1,c=getchar();
	while(c<'0'||c>'9'){if(c=='-') f=-1; c=getchar();}
	while(c>='0'&&c<='9'){ans=ans*10+(c-'0'); c=getchar();}
	return ans*f;
}
int n;
int main(){
	n=read();
	if((n/100)==(n%10)) printf("Yes\n");
	else printf("No\n");
	return 0;
}
//  [cpp]
#include <cstdio>
int main() {
    char s[5];
    scanf("%s", s+1);
    if(s[1] == s[3]) printf("Yes\n");
    else printf("No\n");
    return 0;
}
//  [cpp]
#include<bits/stdc++.h>
using namespace std;
using ll = long long;

int main(){
    int n;
    cin >> n;
    if(n%10 == n%1000) puts("Yes");
    else puts("No");
}
//  [cpp]
#include<bits/stdc++.h>
using namespace std;
using ll = long long;

int main(){
    int n;
    cin >> n;
    if(n == n%100) puts("Yes");
    else puts("No");
}
//  [cpp]
#include <bits/stdc++.h>
using namespace std;

int main(){
	string n, sam;
	cin >> n;
	reverse(sam.begin(), sam.end());
	if(n==sam) cout << "Yes" << endl;
	else cout << "No" << endl;
}
//  [c]
main(n){scanf("%d",&n);puts(n%10==n/100?"Yes":"No");}
//  [c]
#include<stdio.h>
int main()
{
	int N;
	scanf("%d", &N);
	if(N%10 == N/100)
		printf("Yes");
	else
		printf("No");
	return 0;
}
//  [c]
#include<stdio.h>

int main(void){
    char a[3]; 
  	for(int i=0;i<3;i++){
    if(0==scanf("%c",&a[i])) printf("error");
    }
    if(a[0]==a[2])printf("Yes\n");
    else printf("No\n");
    return 0;
}
//  [c]
#include <stdio.h>
int main(){
  char s[4]={0};
  scanf("%s",n);
  if(s[0]==s[2]){ printf("Yes\n"); }
  else			{ printf("No\n"); }
  return 0;
}
//  [c]
#include <stdio.h>

int main(void){
  int N;
  scanf ("%d", %N);
  int r = N/100;
  if (N%10 == r){
    printf("Yes");
  } else { 
    printf("No");
  }
  return 0; 
}
//  [c]
#include <stdio.h>
#include <string.h>

int main() {
    char s[3];
    scanf("%s", s);

    if(s[0]==s[2]){
        printf("%s","Yes");
    }else {
        printf("%s", "NO");        
    }
    
    return 0;

}
//  [javascript]
inp = require('fs').readFileSync('/dev/stdin', 'utf8').split('\n')
N = inp.shift()
console.log(N[0] == N[2] ? 'Yes' : 'No')
//  [javascript]
function Main(input) {
        var tmp = String(input);
        var truecount = 0;
        if(tmp[2] == tmp[0]) {
           console.log("Yes");
        } else {
           console.log("No");
        }
}
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
//  [javascript]
function main(input){
   var tmp = String(input);
   if(tmp[0] == tmp[2]){
       console.log("Yes");
   }else{
       console.log("No");
   }
}

main(require("fs").readFileSync("/dev/stdin","utf8"));
//  [javascript]
let l = require("fs").readFileSync("/dev/stdin", "utf8").split("");
let n = l.join("");
let r = l.reverse().join("");
console.log(n == r ? "Yes" : "No");
//  [javascript]
function main(input) {
  const N = input;
  let M = N.split('').reverse().join('');
  
  if (N == M) {
    console.log('Yes');
  } else {
    console.log('No');
  }
}

main(require('fs').readFileSync('/dev/stdin', 'utf8'));
//  [javascript]
function main(input) {
  let N = input.toString();
  let M = N.split('').reverse().join('');
  
  N === M ? console.log('Yes') : console.log('No');
}

main(require('fs').readFileSync('/dev/stdin', 'utf8'));
//  [go]
package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

func out(x ...interface{}) {
	fmt.Println(x...)
}

var sc = bufio.NewScanner(os.Stdin)

func getInt() int {
	sc.Scan()
	i, e := strconv.Atoi(sc.Text())
	if e != nil {
		panic(e)
	}
	return i
}

func getString() string {
	sc.Scan()
	return sc.Text()
}

func main() {
	sc.Split(bufio.ScanWords)

	N := getInt()

	a := N / 100
	c := N % 10

	if a == c {
		out("Yes")
	} else {
		out("No")
	}

}
//  [go]
package main

import (
	"fmt"
	"strconv"
)

func main() {
	var n int
	fmt.Scan(&n)
	if s := strconv.Itoa(n); s[0] == s[2] {
		fmt.Println("Yes")
	} else {
		fmt.Println("No")
	}
}
//  [go]
package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
)

func main() {
	In := readLine()
	if ReverseCheck(In) {
		fmt.Println("Yes")
	} else {
		fmt.Println("No")
	}
}

/////////////////////////////////////////

//func readLineInt() []int {
//	result := make([]int, 0)
//	for _, v := range strings.Split(readLine(), " ") {
//		i, _ := strconv.Atoi(v)
//		result = append(result, i)
//	}
//	return result
//}

var reader = bufio.NewReaderSize(os.Stdin, 1e6)

func readLine() string {
	result := make([]byte, 0, 1e6)
	for {
		line, remains, e := reader.ReadLine()
		if e != nil {
			panic(e)
		}
		result = append(result, line...)
		if !remains {
			break
		}
	}
	return string(result)
}

func ReverseCheck(s string) bool {
	sa := strings.Split(s, "")

	for i := 0; i < len(sa); i++ {
		if sa[i] != sa[len(sa)-i-1] {
			return false
		}
	}
	return true
}
//  [go]
package main

import(
	"fmt"
)

func main(){
	var n int
	fmt.Scanln(&n)
	s := string(n)
	var f bool = true
	sz := len(s)
	for i := 0;i<=sz/2;i++ {
		if s[i]!=s[sz-i-1] {
			f = false
			break;
		}
	}
	if f==false{
		fmt.Println("Yes")
	}else {
		fmt.Println("No")
	}
}
//  [go]
package main

import "fmt"

func main() {
	var n int
	fmt.Scan(&n)
	rev := ""
	for i := len(t); i > 0; i-- {
		rev += string(t[i - 1])
	}
	if rev == t {
		fmt.Println("Yes")
		return
	}
	fmt.Println("No")
}
//  [go]
package main

import (
	"fmt"
)

type myRange struct {
	form int
	to   int
}

func main() {
	var aRange myRange
	fmt.Scan(&aRange.form)
	fmt.Scan(&aRange.to)

	var bRange myRange
	fmt.Scan(&bRange.form)
	fmt.Scan(&bRange.to)

	subRange(aRange, bRange)
}

func subRange(a myRange, b myRange) {
	var ans int
	if b.form < a.form {
		if b.to < a.to {
			ans = b.to - a.form
		} else {
			ans = a.to - a.form
		}
	} else if b.form >= a.form && b.form <= a.to {
		if b.to < a.to {
			ans = b.to - b.form
		} else {
			ans = a.to - b.form
		}
	} else {
		ans = 0
	}
	fmt.Println(ans)
}
//  [ruby]
n = gets.chomp
puts (n == n.reverse) ? "Yes" : "No"
//  [ruby]
a=gets.chop;puts a == a.reverse ? "Yes" : "No"
//  [ruby]
N = gets.chomp
puts N[0]==N[2] ? "Yes" : "No"
//  [ruby]
n = gets.strip.to_s
if s[0]==s[2]
  puts "Yes"
else
  puts "No"
end
//  [ruby]
n = gets
puts n.reverse == n ? :Yes: :No
//  [ruby]
n = gets.chomp.to_s
puts n == n.reverse ? 'Yes':'No
//  [rust]
use std::io;

fn procon_read<T: std::str::FromStr>() ->  Vec<T> {
	let mut buf = String::new();
	io::stdin().read_line(&mut buf).expect("");
	let iter = buf.split_whitespace();
	let mut v: Vec<T> = Vec::new();
	for i in iter {
		v.push(i.parse().ok().unwrap());
	}
	v
}

fn is_palindrome(s: &str) -> bool {
// sが回文であるかどうかを判定する
	let mut flag = true;
	let v:Vec<char> = s.chars().collect();
	let L = v.len();
	for n in 0..(L/2) {
		if v[n] != v[L - 1 - n] {
			flag = false;
			break;
		};
	}
	flag
}

fn main() {
	let v:Vec<i32> = procon_read();
	let n = v[0].to_string();
	if is_palindrome(&n) {
		println!("Yes");
	}else{
		println!("No");
	}
}
//  [rust]
use std::io::*;
use std::str::FromStr;

pub fn read<T: FromStr>() -> T {
    let stdin = stdin();
    let stdin = stdin.lock();
    let token: String = stdin
        .bytes()
        .map(|c| c.expect("failed to read char") as char)
        .skip_while(|c| c.is_whitespace())
        .take_while(|c| !c.is_whitespace())
        .collect();
    token.parse().ok().expect("failed to parse token")
}

fn main() {
    let s: String = read();
    let sc: Vec<char> = s.chars().collect();
    let si: Vec<u32> = sc.iter().map(|x| x.to_digit(10).unwrap()).collect();
    let n = sc.len();

    for i in 0..(n / 2) {
        if si[i] != si[si.len() - 1 - i] {
            println!("No");
            return;
        }
    }
    println!("Yes");
}
//  [rust]
use std::io;
fn main(){
    let mut s = String::new(); /*mutはmutableを指す*/
    io::stdin().read_line(&mut s).ok();
    let num = s.trim().to_string();
    if num.chars().nth(0).unwrap() == num.chars().nth(2).unwrap(){
        println!("Yes");
    }
    else{
        println!("No");
    }
}
//  [rust]
fn main() {
    let mut v: Vec<char> = Vec::new();
    let s: String = read();
    v = s.chars().collect();
    let n = v.len();
    let mut ans = "Yes";
    for i in 0..n/2 {
        if v[i] != v[n-i] {
            ans = "No";
        }
    }
    println!("{}", ans); 
}

// 以下関数

use std::io::*;
use std::str::FromStr;
pub fn read<T: FromStr>() -> T {
    let stdin = stdin();
    let stdin = stdin.lock();
    let token: String = stdin
        .bytes()
        .map(|c| c.expect("failed to read char") as char)
        .skip_while(|c| c.is_whitespace())
        .take_while(|c| !c.is_whitespace())
        .collect();
    token.parse().ok().expect("failed to parse token")
}

pub const MOD: u64 = 10e9 as u64 + 7;

pub fn is_prime(n: i32) -> bool {
    if n < 2 {
        return false;
    } else if n == 2 {
        return true;
    }
    let mut i = 2;
    while i * i < n {
        if n % i == 0 {
            return false;
        } else {
            i += 1;
            continue;
        }
    }
    true
}

pub fn lcm(mut n: i32, mut m: i32) -> i32 {
    n = if n > m { m } else { n };
    m = if n > m { n } else { m };
    let mut i = n;
    while i % m != 0 {
        i += n;
    }
    i
}

pub fn abs(n: i32) -> i32 {
    if n >= 0 {
        n
    } else {
        -n
    }
}
//  [rust]
use std::vec::Vec;
use std::cmp::*;

fn read<T: std::str::FromStr>() -> T {
    let mut s = String::new();
    std::io::stdin().read_line(&mut s).ok();
    s.trim().parse().ok().unwrap()
}

fn read_vec<T: std::str::FromStr>() -> Vec<T> {
    read::<String>().split_whitespace().map(|e| e.parse().ok().unwrap()).collect()
}

fn main() {
  let (a, b, c, d) = {
    let v: Vec<i64> = read_vec();
    (v[0], v[1], v[2], v[3])
  };

  let (l, h) = (max(a, c), min(b, d));

 let ans =  if l > h { 0 } else { h - l};
 println!("{}", ans);
}
//  [rust]
use std::collections::HashMap;

fn collect_primes(n: u64) -> HashMap<u64, u32> {
    let mut primes = HashMap::<u64, u32>::new();
    let mut cur = n;
    let mut i = 2_u64;
    if n == 1 {
        primes.insert(1, 1);
        return primes;
    }
    while i != cur {
        if cur % i  == 0 {
            *(primes.entry(i).or_insert(0)) += 1;
            cur /= i;
            continue;
        }
        i += 1;
    }
    // primes.entry(cur).and_modify(|i| *i=*i+1).or_insert(1);
    if primes.get(&i).is_some() {
        let v = primes.get_mut(&i).unwrap();
        *v = *v + 1;
    } else {
        primes.insert(cur, 1);
    }

    primes
}

fn union_primes(l: HashMap<u64, u32>, r: HashMap<u64,u32>) -> HashMap<u64,u32>{
    let mut nprimes = l.clone();
    let t = 0;
    for p1 in l.keys() {
        let lp = l.get(p1).unwrap();
        let rp = r.get(p1).unwrap_or(&t);
        if lp > rp {
            nprimes.insert(*p1, *lp);
        } else {
            nprimes.insert(*p1, *rp);
        }
    }
    for p2 in r.keys() {
        let n = *(nprimes.get(p2).unwrap_or(&0));
        let rp = r.get(p2).unwrap();
        if n < *rp {
            nprimes.entry(*p2).or_insert(*rp);
        }
    }
    nprimes
}

macro_rules! input {
    (source = $s:expr, $($r:tt)*) => {
        let mut iter = $s.split_whitespace();
        let mut next = || { iter.next().unwrap() };
        input_inner!{next, $($r)*}
    };
    ($($r:tt)*) => {
        let stdin = std::io::stdin();
        let mut bytes = std::io::Read::bytes(std::io::BufReader::new(stdin.lock()));
        let mut next = move || -> String{
            bytes
                .by_ref()
                .map(|r|r.unwrap() as char)
                .skip_while(|c|c.is_whitespace())
                .take_while(|c|!c.is_whitespace())
                .collect()
        };
        input_inner!{next, $($r)*}
    };
}

macro_rules! input_inner {
    ($next:expr) => {};
    ($next:expr, ) => {};

    ($next:expr, $var:ident : $t:tt $($r:tt)*) => {
        let $var = read_value!($next, $t);
        input_inner!{$next $($r)*}
    };
}

macro_rules! read_value {
    ($next:expr, ( $($t:tt),* )) => {
        ( $(read_value!($next, $t)),* )
    };

    ($next:expr, [ $t:tt ; $len:expr ]) => {
        (0..$len).map(|_| read_value!($next, $t)).collect::<Vec<_>>()
    };

    ($next:expr, chars) => {
        read_value!($next, String).chars().collect::<Vec<char>>()
    };

    ($next:expr, usize1) => {
        read_value!($next, usize) - 1
    };

    ($next:expr, $t:ty) => {
        $next().parse::<$t>().expect("Parse error")
    };
}


fn main() {
    input! {
        n : usize,
        tx : [[u64; 1]; n],
    }
    let mut base = HashMap::<u64,u32>::new();
    for i in 0 .. n {
        let prime = collect_primes( tx[i][0] );
        base = union_primes(base, prime);
        // println!("{:?}", base);
    }
    let mut ans = 1u64;
    for (k,v) in base.iter() {
        ans *= (*k).pow(*v);
    }
    println!("{}", ans)
}
//  [swift]
let i=readLine()!.characters.map{$0};print(i[0]==i[2] ?"Yes":"No")
//  [swift]
import Glibc
extension String: CollectionType {}

//var nm = readLine()!.split(" ").map { Int($0)! }
var n = readLine()!
if n == String(n.characters.reverse()) {
  print("Yes")
} else {
  print("No")
}
//  [swift]
let i=readLine()!.characters.map{$0};print(i==i.reverse() ?"Yes":"No")
//  [swift]
import Foundation
func toTuple<T>(_ args: [T]) -> (T, T, T, T) { (args[0], args[1], args[2], args[3]) }
func readInts() -> [Int] { readLine()!.split(separator: " ").map { Int($0)! } }

let main = {
  let (a, b, c, d) = toTuple(readInts())
  if b < c || a > d { print(0); return }
  if a >= c && b <= d { print(b - a); return }
  if a <= c && b >= d { print(d - c); return }
  if a <= c && b >= c && b <= d { print(b - c); return }
  if a >= c  && a <= d && b >= d { print(d - a); return }
}
main()
//  [swift]
let i=readLine()!.characters;print(i==i.reverse() ?"Yes":"No")
//  [typescript]
const t={input:require('fs').readFileSync('/dev/stdin','utf8').split(/[\s]/),n:(arg:number=0):any=>{if(arg){const a=[];for(let i=0;i<arg;i++){a.push(t.n())}return a}else{const a=t.input[0];t.input.shift();return Number(a)}},s:(arg:number=0):string|string[]=>{if(arg){const a=[];for(let i=0;i<arg;i++){a.push(t.s())}return a}else{const a=t.input[0];t.input.shift();return String(a)}},c:(arg:number=0):string|string[]=>{if(arg){const a=[];for(let i=0;i<arg;i++){a.push(t.c())}return a}else{let a=t.input[0].split('');const b=a[0];a.shift();if(a.length>0){t.input[0]=a.join('')}else{t.input.shift()}return String(b)}},o:(...arg)=>{console.log(...arg)},abs:(a)=>{return Math.abs(a)},min:(...a)=>{return Math.min(...a)},max:(...a)=>{return Math.max(...a)},floor:(a)=>{return Math.floor(a)},asc:(ar:number[])=>{return ar.sort((a,b)=>{return a-b})},desc:(ar:number[])=>{return ar.sort((a,b)=>{return b-a})},sw:(a,arr:any[],op:'=='|'>='|'>'|'<='|'<'='==')=>{for(let i=0;i<arr.length;i+=2){if(eval(a+op+arr[i]))return arr[i+1];}return arr[arr.length-1]}};
const main=()=>{
  let a = t.s()
  t.o(a[2]==a[0]?'Yes':'No')
}
main()
//  [typescript]
const stdin = require('fs').readFileSync('/dev/stdin', 'utf8')

const n = stdin.split('\n')[0]

const r = n.split('').reverse().join('')

console.log(r === n ? 'Yes' : 'No')
//  [typescript]
"use strict";

main(require("fs").readFileSync("/dev/stdin", "utf8"));

function main(input) {
  const [n] = input.split("\n");
  
  const ans = n[0] === n[2] ? "Yes" : "No";
  console.log(ans);
}
//  [typescript]
const t={input:require('fs').readFileSync('/dev/stdin','utf8').split(/[\s]/),n:(arg:number=0):any=>{if(arg){const a=[];for(let i=0;i<arg;i++){a.push(t.n())}return a}else{const a=t.input[0];t.input.shift();return Number(a)}},s:(arg:number=0):string|string[]=>{if(arg){const a=[];for(let i=0;i<arg;i++){a.push(t.s())}return a}else{const a=t.input[0];t.input.shift();return String(a)}},c:(arg:number=0):string|string[]=>{if(arg){const a=[];for(let i=0;i<arg;i++){a.push(t.c())}return a}else{let a=t.input[0].split('');const b=a[0];a.shift();if(a.length>0){t.input[0]=a.join('')}else{t.input.shift()}return String(b)}},o:(...arg)=>{console.log(...arg)},abs:(a)=>{return Math.abs(a)},min:(...a)=>{return Math.min(...a)},max:(...a)=>{return Math.max(...a)},floor:(a)=>{return Math.floor(a)},asc:(ar:number[])=>{return ar.sort((a,b)=>{return a-b})},desc:(ar:number[])=>{return ar.sort((a,b)=>{return b-a})},sw:(a,arr:any[],op:'=='|'>='|'>'|'<='|'<'='==')=>{for(let i=0;i<arr.length;i+=2){if(eval(a+op+arr[i]))return arr[i+1];}return arr[arr.length-1]}};
const main=()=>{
  let a = t.s()
  t.o(a[2]==a?[0]?'Yes':'No')
}
main()
//  [typescript]
// const input = require('fs').readFileSync('/dev/stdin', 'utf8');
// input: 'A　B'
// const inputList = input.split(' '); // 空白文字に注意
// const inputNumberList = inputList.map(Number);

const input = require('fs').readFileSync('/dev/stdin', 'utf8');
const inputList = input.split('\n');
const inputNumberList = inputList.map(Number);

// console.log(inputList);

const n = inputNumberList[0];
const list = inputNumberList.slice(1, -2);

// const list = [2, 5, 3, 10, 12, 20, 30, 22, 33, 7, 23];

function gcd(a, b) {
  if (a === b) {
    return a;
  }

  if (a > b) {
    let m = a % b;
    if (m === 0) {
      return a;
    }
    let n = b;
    while (!(m === 0) && !(n === 0)) {
      n = n % m;
      if (n === 0) {
        return a * b / m;
        break;
      }
      m = m % n;
      if (m === 0) {
        return a * b / n;
        break;
      }
    }
  }

  let m = b % a;
  if (m === 0) {
    return b;
  }
  let n = a;
  while (!(m === 0) && !(n === 0)) {
    n = n % m;
    if (n === 0) {
      return a * b / m;
      break;
    }
    m = m % n;
    if (m === 0) {
      return a * b / n;
      break;
    }
  }
};

let ans = 1;

list.forEach((i) => {
  ans = gcd(ans, i);
})

console.log(ans);
//  [python]
print(["No","Yes"]["7" in input()])
//  [python]
print('Yes' if '7' in input() else 'No')
//  [python]
s = input()
if s.count('7') != 0:
  print('Yes')
else:
  print('No')
//  [python]
from random import random
print(['Yes', 'No'][random() < 0.5])
//  [java]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		System.out.println(br.readLine().contains("7") ? "Yes" : "No");
	}
}
//  [java]
import java.io.IOException;
import java.io.InputStream;
import java.util.NoSuchElementException;

class FastScanner {
    private final InputStream in = System.in;
    private final byte[] buffer = new byte[1024];
    private int ptr = 0;
    private int buflen = 0;
    private boolean hasNextByte() {
        if (ptr < buflen) {
            return true;
        }else{
            ptr = 0;
            try {
                buflen = in.read(buffer);
            } catch (IOException e) {
                e.printStackTrace();
            }
            if (buflen <= 0) {
                return false;
            }
        }
        return true;
    }
    private int readByte() { if (hasNextByte()) return buffer[ptr++]; else return -1;}
    private static boolean isPrintableChar(int c) { return 33 <= c && c <= 126;}
    public boolean hasNext() { while(hasNextByte() && !isPrintableChar(buffer[ptr])) ptr++; return hasNextByte();}
    public String next() {
        if (!hasNext()) throw new NoSuchElementException();
        StringBuilder sb = new StringBuilder();
        int b = readByte();
        while(isPrintableChar(b)) {
            sb.appendCodePoint(b);
            b = readByte();
        }
        return sb.toString();
    }
    public long nextLong() {
        if (!hasNext()) throw new NoSuchElementException();
        long n = 0;
        boolean minus = false;
        int b = readByte();
        if (b == '-') {
            minus = true;
            b = readByte();
        }
        if (b < '0' || '9' < b) {
            throw new NumberFormatException();
        }
        while(true){
            if ('0' <= b && b <= '9') {
                n *= 10;
                n += b - '0';
            }else if(b == -1 || !isPrintableChar(b)){
                return minus ? -n : n;
            }else{
                throw new NumberFormatException();
            }
            b = readByte();
        }
    }
    public int nextInt() {
        long nl = nextLong();
        if (nl < Integer.MIN_VALUE || nl > Integer.MAX_VALUE) throw new NumberFormatException();
        return (int) nl;
    }
    public double nextDouble() { return Double.parseDouble(next());}
}

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		FastScanner fs = new FastScanner();

		int N = fs.nextInt();

		int x = N;
		if( (int)(x / 100) == 7) {
			System.out.println("Yes");
			return;
		}
		x = x - ( 100 * (int)(x / 100) );
		if( (int)(x / 10) == 7) {
			System.out.println("Yes");
			return;
		}
		x = x - ( 10 * (int)(x / 10) );
		if( x  == 7) {
			System.out.println("Yes");
			return;
		}
		System.out.println("No");
	}

}
//  [java]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;

public class Main {
  /**
   * Iterate through each line of input.
   */
	public static void main(String[] args) throws IOException {
		OriginScanner os = new OriginScanner();
		PrintWriter pw = new PrintWriter(System.out);
		
		if (os.next().indexOf('7') > -1) pw.println("Yes");
		else pw.println("No");
		pw.close();
	}
	static class OriginScanner {
		private BufferedReader br;
		private StringTokenizer st;
		
		public OriginScanner() {
			br = new BufferedReader(new InputStreamReader(System.in));
		}
		String nextLine() {
			String str = null;
			try {
				str = br.readLine();
			}
			catch (IOException e) {
				System.out.println(e);
			}
			return str;
		}
		String next() {
			if (st == null || !st.hasMoreTokens()) {
				st = new StringTokenizer(nextLine());
			}
			return st.nextToken();
		}
		int nextInt() {
			return Integer.parseInt(next());
		}
		double nextDouble() {
			return Double.parseDouble(next());
		}
		long nextLong() {
			return Long.parseLong(next());
		}
	}
}
//  [java]
import java.util.Scanner;

public class Main2 {
	public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        Main m = new Main(sc);
        m.show(m.solve());
        sc.close();
    }
    
	//フィールド
    Scanner sc;
    String N;
    
    //入力
    Main(Scanner sc) {
        this.sc = sc;
        this.N = sc.next();
    }
    
    //解答処理
    private String solve() {
        String answer = "No";
        String[] list = N.split("");
        
        for (int i=0; i<N.length(); i++) {
        	if (list[i].equals("7")) {
        		answer = "Yes";
        		break;
        	}
        }
        
        return answer;
    }
    
    //出力
    public void show(String answer) {
        System.out.println(answer);
    }

}
//  [java]
import java.util.*;
 
public class Main {
	public static void main(String[] args) throws Exception{
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
        char[] c = sc.next().toCharArray();
        int count_r = 0;
        int count_g = 0;
        int count_b = 0;
        for(int i = 0; i < n; i++){
        	if(c[i] == 'R'){
            	count_r++;
            }else if(c[i] == 'G'){
            	count_g++;
            }else{
            	count_b++;
            }
        }
        long ans = (long)count_r * count_g * count_b;
        for(int i = 0; i < n; i++){
        	for(int j = i + 1; j < n; j++){
                int x = j * 2 - i;
            	if(c[i] != c[j] && x < n && c[i] != c[x] && c[j] != c[x]){
                	ans--;
                }
            }
        }
        System.out.println(ans);
	}
}
//  [java]
public class Main {
  public static void main(String[] args) {
    String N = new java.util.Scanner(System.in).nextLine();
    if (N.charAt(0) == "7" || N.charAt(1) == "7" || N.charAt(2) == "7") {
      System.out.println("Yes");
    } else {
      System.out.println("No");
    }
  }
}
//  [cpp]
#include <stdio.h>
int main(){
  int n,t,u,s,v;
  scanf("%d",&n);
  s=n/100;
  t=n-s*100;
  v=t/10;
  u=t-v*10;
  if(n/100==7){
	printf("Yes");
  }else if(t/10==7){
    printf("Yes");
  }else if(u==7){
    printf("Yes");
  }else{
    printf("No");
  }

  return 0;
}
//  [cpp]
                #include<stdio.h>
                 
                int main(void)
                {
                 int n,m1,m2,m3;
                  scanf("%d",&n);
                  m1=n%10;
                  m2=n%100-m1;
                  m3=n%1000-m2-m1;
                  
                  if(m1==7)
                  {
                    printf("Yes");
                  }
                  else if(m2==70)
                  {
                    printf("Yes");
                  }
                  else if(m3==700)
                  {
                     printf("Yes");
                  }
                  else
                     printf("No");
                  
                  return 0;
                }
//  [cpp]
#include <cstdio>

using namespace std;

int main() {
	int n;
	scanf("%d",&n);
	while (n > 0) {
		int t = n%10;
		n = n/10;
		if (t == 7) {
			printf ("Yes");
			return 0;
		}
	}
	printf ("No");
	return 0;
}
//  [cpp]
#include <bits/stdc++.h>
using namespace std;

int main() {
  int n;
  cin >> n;
  for (int i = 100; i >= 1; i/=10) {
    if ((n/i)%7 == 0) {
      cout << "Yes";
      return 0;
    }
    n -= (n/i)*i;
  }
  
  cout << "No";
  
  return 0;
}
//  [cpp]
#include <bits/stdc++.h>
using namespace std;
#define watch(x) cout << (#x) << " is " << (x) << '\n'
#define rep(i,a,n) for (int i=a;i<n;i++)
#define per(i,a,n) for (int i=n-1;i>=a;i--)
#define pb push_bacm
#define mp mame_pair
#define all(x) (x).begin(),(x).end()
#define fi first
#define se second
#define sz(x) ((int)(x).size())
typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef pair<int, int> pi;
typedef pair<ll, ll> pll;
typedef double db;
ll gcd(ll a, ll b) { return b?gcd(b,a%b):a; }
//head

void solve(){
    int n;
    cin >> n;
    if (n % 10 == 7 || n % 100 == 7 || n % 1000 == 7) cout << "Yes\n";
    else cout << "No\n";
}

int main(void){ 
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    //int t; cin >> t; while (t--)
        solve();
}
//  [cpp]
#include <bits/stdc++.h>
#define boost_io ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define int long long
#define num(a) a-'0'
#define charr(a) (a - 'A' + 1)
#define rep(i,a,b) for(int i=a;i<b;i++)
#define maxs(a,b) if(b>a)a=b
#define mins(a,b) if(b<a)a=b
#define debug(x) cerr<<"["<<#x<<":"<<x<<"] "
#define debug2(a,b) debug(a);debug(b)
#define debug3(a,b,c) debug2(a,b);debug(c)
#define gcd(a,b) __gcd(a,b)
#define lcm(a,b) (a*b)/(__gcd(a,b))
#define print(arr) for(auto it = arr.begin();it < arr.end();it ++){cout << *it << " ";}cout << ln;
#define all(a) (a).begin(), (a).end()
#define vi vector<long long>
#define v vector
#define p pair
#define pb push_back
#define mk make_pair
#define f first
#define s second
#define ln "\n"
typedef long double ld;
typedef double d;
using namespace std;
int modF=1e9+7;
int INF=1e11;

void solve(){
	string n;
	cin>>n;
	int l=n.length();
	for(int i=0;i<l;i++){
		if(n[i]=='7'){
			cout<<"YES\n";
			return;
		}
	}
	cout<<"NO\n";
}

signed main(){
	boost_io;
	solve();
	return 0;
}
//  [c]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int cmp(const void *a,const void *b){
    if(*(int*)a>*(int*)b){return 1;}
    else if(*(int*)a<*(int*)b){return -1;}
    else {return 0;}
}


long long int min(long long int a,long long int b){

    if(a>=b){return b;}
    return a;
}

int main(void){
char s[10];
scanf("%s",s);
if(s[0]=='7'||s[1]=='7'||s[2]=='7'){printf("Yes\n");}
else{printf("No");}
}
//  [c]
#include <stdio.h>

int main(void)
{
	int n;

	scanf("%d", &n);

	int a = n / 100;
	int b = n / 10 % 10;
	int c = n % 10;

	if (a == 7 || b == 7 || c == 7)
		printf("Yes");
	else
		printf("No");
	return 0;
}
//  [c]
#include<stdio.h>
int main(){
  int n,a,b,c;
  scanf("%d",&n);
  a=n%10;
  n=n/10;
  b=n%10;
  n=n/10;
  c=n%10;
  if(a==7 || b==7 || c==7)
    printf("Yes\n");
  else
    printf("No\n");
  return 0;
}
//  [c]
#include<stdio.h>

int main(void){
  int N;
  scanf("%d",&N);
  int a,b,c;
  a=N%10;
  N/=10;
  b=N%10;
  N/=10;
  c=N%10;
  if(a==7 || b=7 || c==7){
    printf("Yes\n");
  }else{
    printf("No\n");
  }
  return 0;
}
//  [c]
#include <stdio.h>
#define true 1
#define false 0

int main(void)
{
    int n=0;
    int flag=false;
    scanf("%d",&n);

    for(int i=0;i<3;i++){
        if((n%10)%7==0){
            flag=true;
            break;
        }
        n=n/10;
    }

    if(flag==true){
        printf("Yes");
    } else {
        printf("No");
    }

    return 0;
}
//  [c]
#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    cin>>s;
    int fl=1;
    for(char c: s){
        if(c=='7'){
            cout<<"YES"<<endl;
            fl=0;
            break;
        }
    }
    if(fl)cout<<"NO"<<endl;
}
//  [javascript]
function Main (input) {
  input = String(input.split("\n")[0]).split("");
  var ans = "No";
  for (var i of input) {
    if (i == "7") {
      ans = "Yes";
    }
  }
  console.log(ans);
}

Main(require("fs").readFileSync("/dev/stdin", "utf8"));
//  [javascript]
function Main(input) {
    console.log(String(input).includes("7") ? 'Yes' : 'No')
}
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
//  [javascript]
Main=(o=>{console.log(o.includes("7")?"Yes":"No")}); Main(require("fs").readFileSync("/dev/stdin", "utf8").trim());
//  [javascript]
"use strict";

const main = (input) => {
    const spi = input.split('\n');
    let n = Number(spi[0]);
    let loop = 3;
    while (loop--) {
        if (n % 10 == 7) {
            console.log("Yes");
            return;
        }
        n /= 10;
    }

    console.log("No");
};

main(require("fs").readFileSync("/dev/stdin", "utf8"));
//  [javascript]
var input = process.argv[1];
var result = 0;
for (var a = 1; a <= input; a++) {
  for (var b = 1; b <= input; b++) {
    for (var c = 1; c <= input; c++) {
      // console.log(a + " " + b + " " + c);
      result += gcd(gcd(a, b), c);
    }
  }
}
console.log(result);

function gcd(a, b) {  
  if (b == 0) {
    return a;
  }
  return gcd(b, a%b);
}
//  [javascript]
'use strict';
function main(input) {
  //input = input.split("\n");
  //const a = input[0];
  console.log(input.contains("7") ? "Yes" : "No");
}

main(require("fs").readFileSync("/dev/stdin", "utf8"));
//  [go]
package main

import (
	"fmt"
	"strconv"
	"strings"
)

func contain7(n int) bool {
	return strings.Contains(strconv.Itoa(n), "7")
}

func main() {

	var n int
	_, err := fmt.Scan(&n)

	if err != nil {
		fmt.Println(err)
	}

	if contain7(n) {
		fmt.Println("Yes")
	} else {
		fmt.Println("No")
	}
}
//  [go]
package main

import (
	"fmt"
)

func main() {
	var S int
	fmt.Scan(&S)

	x := 100
	counter := 0
	for i:=0; i<3; i++ {
		res := S / x
		if res == 7 {
			counter = 1
			fmt.Println("Yes")
			break
		}
		y := res * x
		S -= y
		x /= 10
	}
	if counter == 0 {
		fmt.Println("No")
	}

}
//  [ruby]
n = gets.chomp

if n.include?("7")
  puts "Yes"
else
  puts "No"
end
//  [ruby]
N = gets.chomp

if N =~ /7/
  puts 'Yes'
else
  puts 'No'
end
//  [ruby]
N=gets.to_s
puts N =~ /7/? "Yes":"No"
//  [ruby]
n = gets.chomp.chars
if n[0] == 7 || n[1] == 7 || n[2] == 7
  puts "Yes"
else
  puts "No"
end
//  [ruby]
n = gets.chomp
if n[0] == 7 || n[1] == 7 || n[2] == 7
  puts "Yes"
else
  puts "No"
end
//  [ruby]
s=gets.to_c
if s[0]==7 || s[1]==7 || s[2]==7
  puts "Yes"
else
  puts "No"
end
//  [rust]
macro_rules! input {
    (source = $s:expr, $($r:tt)*) => {
        let mut iter = $s.split_whitespace();
        input_inner!{iter, $($r)*}
    };
    ($($r:tt)*) => {
        let mut s = {
            use std::io::Read;
            let mut s = String::new();
            std::io::stdin().read_to_string(&mut s).unwrap();
            s
        };
        let mut iter = s.split_whitespace();
        input_inner!{iter, $($r)*}
    };
}

macro_rules! input_inner {
    ($iter:expr) => {};
    ($iter:expr, ) => {};

    ($iter:expr, $var:ident : $t:tt $($r:tt)*) => {
        let $var = read_value!($iter, $t);
        input_inner!{$iter $($r)*}
    };
}

macro_rules! read_value {
    ($iter:expr, ( $($t:tt),* )) => {
        ( $(read_value!($iter, $t)),* )
    };

    ($iter:expr, [ $t:tt ; $len:expr ]) => {
        (0..$len).map(|_| read_value!($iter, $t)).collect::<Vec<_>>()
    };

    ($iter:expr, chars) => {
        read_value!($iter, String).chars().collect::<Vec<char>>()
    };

    ($iter:expr, usize1) => {
        read_value!($iter, usize) - 1
    };

    ($iter:expr, $t:ty) => {
        $iter.next().unwrap().parse::<$t>().expect("Parse error")
    };
}

fn min(a: &i64, b: &i64) -> i64 {
    if *a <= 0i64 {
        *b
    } else if *b <= 0i64 {
        *a
    } else if *a < *b {
        *a
    } else {
        *b
    }
}

fn max(a: &i64, b: &i64) -> i64 {
    if *a < *b {
        *b
    } else {
        *a
    }
}

fn abs(a: &i64, b: &i64) -> i64 {
    if *a - *b <= 0 {
        *b - *a
    } else {
        *a - *b
    }
}

fn main() {
    input! {
        n: chars
    }
    print!("{}", if n[0] == '7' || n[1] == '7' || n[2] == '7' {"Yes".to_string()} else {"No".to_string()})
}
//  [rust]
use std::io::*;
use std::str::FromStr;
use  std::collections::BTreeSet;
use std::cmp::min;

fn read<T: FromStr>() -> T {
    let stdin = stdin();
    let stdin = stdin.lock();
    let token: String = stdin
        .bytes()
        .map(|c| c.expect("faild to read char") as char)
        .take_while(|c| !c.is_whitespace())
        .collect();
    token
        .parse()
        .ok()
        .expect("faild to parse token")
}

fn main(){
    if is_seven(read()) {
        println!("Yes");
    } else {
        println!("No");
    }
}

fn is_seven(a: u64) -> bool {
    if a % 10 == 7 {
        true
    } else if a == 0 {
        false
    } else {
        is_seven(a / 10)
    }
}
//  [rust]
use proconio::{input, fastout};

#[fastout]
fn main() {
    input! {
        n: String,
    }

    if n.contains('7') {
        println!("Yes");
    } else {
        println!("No");
    }
}
//  [rust]
use::proconio::input;
use proconio::marker::Chars;
fn main () {
  input! {
    n: Chars,
  }
  
  if n.contains("7") {
    println!("Yes");
  } else {
    println!("No");
  }
}
//  [rust]
use::proconio::input;

fn main () {
  input! {
    n: Chars,
  }
  
  if n.contains("7") {
    println!("Yes");
  } else {
    println!("No");
  }
}
//  [rust]
use std::io::stdin;

fn main() {
    println!("Hello, world!");
    let mut string = String::new();
    stdin().read_line(&mut string);
    let res = if string.contains("7") {
        "Yes"
    } else {
        "No"
    };

    print!("{}", res);
}
//  [swift]
let hasSeven = readLine()!.contains("7")
print(hasSeven ? "Yes" : "No")
//  [swift]
func main() {
    let N = readLine()!
    for c in N {
        if c == "7" {
            print("Yes")
            return
        }
    }
    print("No")
}

main()
//  [swift]
var n = readLine()!

if n.contains("7") {
    print("Yes")
} else {
    print("No")
}
//  [swift]
import Foundation
 
let input_line: String = readLine()!
let split: [String] = input_line.components(separatedBy: " ")
 
let a: String = readLine()!

if a.contains("7"){
    print("Yes")
}else{
    print("No")
}
//  [swift]
import Foundation
 
let input_line: String = readLine()!
let split: [String] = input_line.components(separatedBy: " ")
 
let a = "N"

if a.contains("7"){
    print("Yes")
}else{
    print("No")
}
//  [swift]
import Foundation
 
let input_line: String = readLine()!
let split: [String] = input_line.components(separatedBy: " ")
 
let N = "N"

if "N".contains("7"){
    print("Yes")
}else{
    print("No")
}
//  [typescript]
import * as fs from "fs";

const input: string = fs.readFileSync("/dev/stdin", "utf8");
console.log(input.includes("7") ? "Yes" : "No");
//  [typescript]
function Main(val: number) {
  if ((/7/).test(val + '')) {
    console.log('Yes');
  } else {
    console.log('No');
  }
}

Main(require("fs").readFileSync("/dev/stdin", "utf8"));
//  [typescript]
class AtCoder {
  // 入力系
  input=require('fs').readFileSync('/dev/stdin','utf8').split(/[\s]/);
  input_i=-1;

  N=this.input[0];
  M=this.input[1];
  SN=String(this.input[0]);
  SM=String(this.input[1]);

  n(){
    this.input_i++;
    return Number(this.input[this.input_i]);
  }
  nn(n):number[]{
    const a=[];
    for(let i=0;i<n;i++){
      a.push(this.n());
    }
    return a;
  }
  s(){
    this.input_i++;
    return String(this.input[this.input_i]);
  }
  ss(n):string[]{
    const a=[];
    for(let i=0;i<n;i++){
      a.push(this.s());
    }
    return a;
  }

  // コンソール
  o(...a:any){
    console.log(...a);
  }

  // Math
  abs(a:number){
    return Math.abs(a);
  }
  min(...a:number[]){
    return Math.min(...a);
  }
  max(...a:number[]){
    return Math.max(...a);
  }
  floor(a:number){
    return Math.floor(a);
  }
  ceil(a:number){
    return Math.ceil(a);
  }
  round(a:number){
    return Math.round(a);
  }

  // ソート
  asc(ar:number[]){
    const t=[...ar];
    ar.sort((a,b)=>{return a-b});
  }
  desc(ar:number[]){
    const t=[...ar];
    ar.sort((a,b)=>{return b-a});
  }

  // 自作
  gcd(...arr):number{
    for(let i=0;i<arr.length-1;i++){
      let [x,y]=[arr[i],arr[i+1]];
      while(y){
        [x,y]=[y,x%y];
      }
      arr[i+1]=x;
    }
    return arr[arr.length-1];
  };
  lcm(...arr):number{
    for(let i=0;i<arr.length-1;i++){
      let [x,y]=[arr[i],arr[i+1]];
      while(y){
        [x,y]=[y,x%y];
      }
      arr[i+1]=arr[i]*arr[i+1]/x;
    }
    return arr[arr.length-1];
  };
  isPrime(n:number):boolean{
    if(n < 2) return false;
    const suq=Math.sqrt(n);
    for(let i=2;i<=suq;i++){
      if(n%i==0){
        return false;
      }
    }return true;
  };
  deduplicate(a:any[]):any[]{
    return Array.from(new Set(a));
  };
  f(roop, callback){
    for(let i=0;i<roop;i++){
      callback(i);
    }
  };
  Yes(){
    console.log('Yes');
  }
  No(){
    console.log('No');
  }
  YES(){
    console.log('YES');
  }
  NO(){
    console.log('NO');
  }
}
const main = () => {
  const o = new AtCoder()
  for(let i=0;i<3;i++){
    if(o.SN[i] == '7') {
      o.Yes()
      return
    }
  }
  o.No();
}
main();
//  [typescript]
// A - Lucky 7
import { readFileSync } from "fs";
const input = readFileSync("/dev/stdin", "utf8");

const anser = input.match("7") ? "yes" : "no"

console.log(anser)
//  [typescript]
function main(val: number) {
  if ((/7/).test(val + '')) {
    console.log('Yes');
  } else {
    console.log('No');
  }
}
//  [python]
A, B, C, D = map(int, input().split())

if A * B >= C * D:
    print(A * B)
else:
    print(C * D)
//  [python]
a,b,c,d = map(int, input().split())
print(max(a*b,c*d))
//  [python]
A, B, C, D = map(int, input().split())
print(A*B if A*B>=C*D else C*D)
//  [python]
a,b=[input() for i in range(2)]
p=0
ans=0

for i in b:
  if i =='I':
    p+=1
  elif i =='D' and p>0:
    p-=1
  else:
    p-=1
  
  if ans<p:
    ans=p
 
print(ans)
//  [python]
S1 = int(input())
S2 = int(input())

if S1 > S2:
    print(S1)
elif S1 == S2:
    print(S1 * S2)
else:
    print(S2)
//  [python]
a, b, c, d = int(input().split())
x = a * b
y = c * d
if x == y:
  print(x)
elif x > y:
  print(x)
elif y > x:
  print(y)
//  [java]
import java.io.*;
import java.util.*;

public class Main {

	final static long MOD = 1000000007;
	public static String[] Ws = null;
	public static int wsIndx = 0;
	public static BufferedReader in = null;
	public static void main(String[] args) throws Exception {
		solution(args);
		if(in!=null){
			in.close();
		}
	}

	public static void solution(String[] args) throws Exception{

		int A = nextInt();
		int B = nextInt();
		int C = nextInt();
		int D = nextInt();

		String ans =String.valueOf(Math.max(A*B, C*D));
		System.out.println(ans);

	}

	public static boolean isPalindromicStr(String s) {
		int h = 0;
		int t = s.length() - 1;
		while (h <= t) {
			if (s.charAt(h) != s.charAt(t)) {
				break;
			}
			h++;
			t--;
		}
		if (h > t) {
			return true;
		}
		return false;
	}
	public static String[] toStringArray(String s) {
		String[] tmp = new String[s.length()];
		char[] c = s.toCharArray();
		for (int i = 0; i < tmp.length; i++) {
			tmp[i] = String.valueOf(c[i]);
		}
		return tmp;
	}

	public static void check() throws Exception{
		if(in == null){
			in = new BufferedReader(new InputStreamReader(System.in));
		}
		if(Ws==null || Ws.length<=wsIndx){
			Ws = in.readLine().split(" ");
			wsIndx=0;
		}
	}
	public static int nextInt()throws Exception{
		check();
		return Integer.parseInt(Ws[wsIndx++]);
	}

	public static long nextLong()throws Exception{
		check();
		return Long.parseLong(Ws[wsIndx++]);
	}

	public static String nextString()throws Exception{
		check();
		return Ws[wsIndx++];
	}

	public static int[] nextInts()throws Exception{
		check();
		int[] tmp = new int[Ws.length];
		for(int i=0;i<tmp.length;i++){
			tmp[i]=Integer.parseInt(Ws[i]);
		}
		wsIndx=Ws.length;
		return tmp;
	}

	public static long[] nextLongs()throws Exception{
		check();
		long[] tmp = new long[Ws.length];
		for(int i=0;i<tmp.length;i++){
			tmp[i]=Long.parseLong(Ws[i]);
		}
		wsIndx=Ws.length;
		return tmp;
	}

	public static String[] nextStrings()throws Exception{
		check();
		wsIndx=Ws.length;
		return Ws;
	}


}
//  [java]

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.NoSuchElementException;

public class Main {

	public static void main(String[] args) throws IOException {
		new Main().solve();
	}

	private void solve() throws IOException {
		try {
			solveA();
			// solveB();
			// solveC();
			// solveD();
			// solveE();
			// solveF();
		} finally {
			if (in != null) {
				in.close();
			}
			if (out != null) {
				out.flush();
				out.close();
			}
		}

	}

	private void solveA() {
		int numA = nextInt();
		int numB = nextInt();
		int numC = nextInt();
		int numD = nextInt();

		out.println(numA * numB > numC * numD ? numA * numB : numC * numD);

	}

	private void solveB() {
		int numN = nextInt();

		out.println("");
	}

	private void solveC() {
		int numN = nextInt();

		out.println("");
	}

	private void solveD() {
		int numN = nextInt();

		out.println("");
	}

	private void solveE() {
		int numN = nextInt();

		out.println("");
	}

	private void solveF() {
		int numN = nextInt();

		out.println("");
	}

	private final PrintWriter out = new PrintWriter(System.out);
	private final InputStream in = System.in;
	private final byte[] buffer = new byte[1024];
	private int ptr = 0;
	private int buflen = 0;

	private boolean hasNextByte() {
		if (ptr < buflen) {
			return true;
		} else {
			ptr = 0;
			try {
				buflen = in.read(buffer);
			} catch (IOException e) {
				e.printStackTrace();
			}
			if (buflen <= 0) {
				return false;
			}
		}
		return true;
	}

	private int readByte() {
		if (hasNextByte())
			return buffer[ptr++];
		else
			return -1;
	}

	private static boolean isPrintableChar(int c) {
		return 33 <= c && c <= 126;
	}

	private void skipUnprintable() {
		while (hasNextByte() && !isPrintableChar(buffer[ptr]))
			ptr++;
	}

	public boolean hasNext() {
		skipUnprintable();
		return hasNextByte();
	}

	public int nextInt() {
		return Integer.parseInt(next());
	}

	public String next() {
		if (!hasNext())
			throw new NoSuchElementException();
		StringBuilder sb = new StringBuilder();
		int b = readByte();
		while (isPrintableChar(b)) {
			sb.appendCodePoint(b);
			b = readByte();
		}
		return sb.toString();
	}

	public long nextLong() {
		if (!hasNext())
			throw new NoSuchElementException();
		long n = 0;
		boolean minus = false;
		int b = readByte();
		if (b == '-') {
			minus = true;
			b = readByte();
		}
		if (b < '0' || '9' < b) {
			throw new NumberFormatException();
		}
		while (true) {
			if ('0' <= b && b <= '9') {
				n *= 10;
				n += b - '0';
			} else if (b == -1 || !isPrintableChar(b)) {
				return minus ? -n : n;
			} else {
				throw new NumberFormatException();
			}
			b = readByte();
		}
	}
}
//  [java]
import java.util.*;
import java.io.*;

public class Main {
   public static void main(String[] args) {
		FastScanner in = new FastScanner();
		int a = in.nextInt(), b = in.nextInt(), c = in.nextInt(), d = in.nextInt();
		int ans1 = a*b;
		int ans2 = c*d;
		if(ans1 > ans2) {
			System.out.println(ans1);
		}	else if (ans1 < ans2) {
			System.out.println(ans2);
		}
		
	}
	
   static class FastScanner {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st=new StringTokenizer("");
		String next() {
			while (!st.hasMoreTokens())
				try {
					st=new StringTokenizer(br.readLine());
				} catch (IOException e) {
					e.printStackTrace();
				}
			return st.nextToken();
		}
		
		int nextInt() {
			return Integer.parseInt(next());
		}
		int[] readArray(int n) {
			int[] a=new int[n];
			for (int i=0; i<n; i++) a[i]=nextInt();
			return a;
		}
		long nextLong() {
			return Long.parseLong(next());
		}
	}
}
//  [java]
import java.util.*;
import java.io.*;

public class Main {
	public static boolean contains(int[] arr, int item) {
      for (int n : arr) {
         if (item == n) {
            return true;
         }
      }
      return false;
   }

   public static void main(String[] args) {
		FastScanner in = new FastScanner();
		int a = in.nextInt(), b = in.nextInt(), c = in.nextInt(), d = in.nextInt();
		int ans1 = a*b;
		int ans2 = c*d;
		if(ans1 > ans2) {
			System.out.println(ans1);
		}	else if (ans1 < ans2) {
			System.out.println(ans2);
		}
		
	}
	
   static class FastScanner {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st=new StringTokenizer("");
		String next() {
			while (!st.hasMoreTokens())
				try {
					st=new StringTokenizer(br.readLine());
				} catch (IOException e) {
					e.printStackTrace();
				}
			return st.nextToken();
		}
		
		int nextInt() {
			return Integer.parseInt(next());
		}
		int[] readArray(int n) {
			int[] a=new int[n];
			for (int i=0; i<n; i++) a[i]=nextInt();
			return a;
		}
		long nextLong() {
			return Long.parseLong(next());
		}
	}
}
//  [java]
import java.util.*;
import java.text.DecimalFormat;
// warm-up
// Removed BigInteger. Dont think it will give a big hike in terms of speedup
public class Main {

	static void solve() {
		Scanner sc = new Scanner(System.in);
		int n=sc.nextInt(), A=sc.nextInt(), B=sc.nextInt(), t=n, i=0;
		double s = 0;
		int[] T = new int[n];
		long[] b = new long[n-1];
		long[] c = new long[n-1];
		while (t-->0) T[i++] = sc.nextInt();
		b[0] = c[0] = (T[1]-T[0])*A;
		for (i=1; i<n-1; i++) {
			b[i] = (T[i+1]-T[i])*A;
			c[i] = b[i]+c[i-1];
		}
		for (i=0; i<n-1; i++) {
			s+=(Math.min(B,b[i]));
			s = Math.min(c[i],s);
		}
		System.out.println(new DecimalFormat("#").format(s));
		sc.close();			
	}

	public static void main(String args[]) {
		solve();
	}

}
//  [cpp]
#include <cstdio>


int main() {
    int a, b, c, d;
    scanf("%d%d%d%d", &a, &b, &c, &d);
    if (a * b > c * d)
        printf("%d", a * b);
    else
        printf("%d", c * d);
    return 0;
}
//  [cpp]
#include<cstdio>
int main()
{
	int a,b,c,d;
	while(scanf("%d%d%d%d",&a,&b,&c,&d)!=EOF)
	{
		int ant1=a*b;
		int ant2=c*d;
		if(ant1>=ant2)
		printf("%d\n",ant1);
		else
		printf("%d\n",ant2);
	}
return 0;
}
//  [cpp]
#include<cstdio>
#include<algorithm>
using namespace std;

int main()
{
	int A,B,C,D;
	scanf("%d %d %d %d",&A,&B,&C,&D);
	int area1,area2;
	area1=A*B;
	area2=C*D;
	printf("%d\n",area1>=area2?area1:area2);
return 0;
}
//  [cpp]
#include<bits/stdc++.h>
#define dbug printf("I am here\n");
#define Fast ios_base::sync_with_stdio(false); cin.tie(0);
#define vs              v.size()
#define sot(v)        sort(v.begin(),v.end())
#define rev(v)        reverse(v.begin(),v.end())
#define ii                pair<int, int>
#define int              long long
#define ull              unsigned long long
#define pb              push_back
#define mpp          make_pair
#define Okay         0
#define pi               3.14159

const int inf = 1e6;
const int cont = 1e18;
using namespace std;

void solve(){
    int a, b, c, d;
    cin>>a>>b>>c>>d;
    cout<<max(a*b , b*c)<<endl;
}

int32_t main() {
    Fast;
    solve();
    return Okay;
}
//  [cpp]
#include <bits/stdc++.h>
using namespace std;
using pp=pair<int, int>;

int main() {
  int a, b, c, d;
  int>>a>>b>>c>>d;
  cout << max(a*b, c*d) << endl;
}
//  [cpp]
#include<iostream>
using namespace std;
int main()
{
  int A,B,C.D;
  cin>>A>>B>>C>>D;
  if(A*B>C*D){
    cout<<A*B;
  }
  else{
    cout<<C*D;
  }
}
//  [c]
#include <stdio.h>
#include <string.h>

int main(void)

{	
	int a,b,c,d;
	scanf("%d %d %d %d",&a,&b,&c,&d);
	
	if(a*b>=c*d){
		printf("%d\n",a*b);
	} else{
		printf("%d\n",c*d);
	}
	return 0;
}