jiahuimbzuai/CoQuIR huggingface dataset:
//  [c]
#include <stdio.h>

#define max(a, b) ((a) > (b) ? (a) : (b))

int main(void) {
	int a, b, c, d;

	scanf("%d %d %d %d", &a, &b, &c, &d);

	printf("%d\n", max(a * b, c * d));

	return 0;
}
//  [c]
#include <stdio.h>
int main(void){
 int a,b,c,d;
 scanf("%d %d %d %d",&a,&b,&c,&d);
 int e = a*b;
 int f = c*d;
 if(e>f) printf("%d",e);
 else printf("%d",f);
 return 0;
}
//  [c]
main(a,b,c,d){scanf("%d%d%d%d",&a,&b,&c,&d);printf("%g",fmax(a*b,c*d));}
//  [c]
#include <stdio.h>
int main()
{
    int a, b, c, d, i, f;
    scanf("%d %d %d %d", &a, &b, &c, &d);

    i = a*b;
    f = c*d;
    if(e>f)
    {
        printf("%d", i);
    }
    else
    {
        printf("%d", f);
    }
    return 0;
}
//  [c]
#include<stdio.h>
int main(){
  long long int a,b,c,d,area;
  scanf("%d %d %d %d\n",&a,&b,&c,&d);
  long long int area1,area2;
  area1 = a*b;
  area2 = c*d;
  if(area1>=area2) area = area1;
  else area =area2;
  printf("%lld\n",area);
  return 0;
}
//  [javascript]
'use strict'

const main = input => {
	const args = input.trim().split(' ').map(Number)
	console.log(Math.max(args[0] * args[1], args[2] * args[3]))
}

main(require('fs').readFileSync('/dev/stdin', 'utf8'))
//  [javascript]
var input = require('fs').readFileSync('/dev/stdin', 'utf8');
var inputArray = input.split(' ');
var a = inputArray[0];
var b = inputArray[1];
var c = inputArray[2];
var d = inputArray[3];

var result = (a * b > c * d) ? a * b : c * d;
console.log(result);
//  [javascript]
"use strict";
    
const main = arg => {
    const rectangles = arg.split("\n")[0].split(" ");
    const A = rectangles[0] * rectangles[1];
    const B = rectangles[2] * rectangles[3];
    console.log(Math.max(A, B));
}
main(require('fs').readFileSync('/dev/stdin', 'utf8'));
//  [javascript]
'use strict'

function main(input) {
  input = input.split('')
  const length = input[0]
  let res = 0;
  let list = [0];
  for (let i = 0;i < length;i++) {
    if (input[i + 2] == 'I') {
      res++;
    } else {
      res--;
    }
    list.push(res);
  }
  console.log(Math.max(...list));
}

main(require("fs").readFileSync("/dev/stdin", "utf8"));
//  [javascript]
inp = require('fs').readFileSync('/dev/stdin', 'utf8').split('\n')[0].split(' ')
A = inp.shift() * 1
B = inp.shift() * 1
C = inp.shift() * 1
D = inp.shift() * 1
console.log(A * B > B * C ? A * B : C * D)
//  [javascript]
"use strict";

const main = arg => {
    arg = arg.trim().split("\n");
    const N = parseInt(arg[0]);
    const MOD = 1e9 + 7;
    
    let cnt = [...Array(N + 1)].fill(0);
    
    for(let i=1; i<=N; i++) {
        let b = i;
        
        for(let j=2; j<=N; j++) {
            console.log("j:" + j);
            
            while(b % j === 0) {
                b /= j;
                cnt[j]++;
            }
        }
    }
    
    let answer = 1;
    
    for(let i=2; i<=N; i++) {
        answer = answer * (cnt[i] + 1) % MOD;
    }
    
    console.log(answer);
}
main(require('fs').readFileSync('/dev/stdin', 'utf8'));
//  [go]
package main

import (
	"fmt"
)

func max(x, y int) int {
	if x >= y {
		return x
	}
	return y
}

func main() {
	var a, b, c, d int
	fmt.Scan(&a, &b, &c, &d)

	fmt.Println(max(a*b, c*d))
}
//  [go]
package main

import "fmt"

func max(x, y int) int {
	if x > y {
		return x
	}
	return y
}

func main() {
	var a, b, c, d int
	fmt.Scan(&a, &b, &c, &d)

	fmt.Println(max(a*b, c*d))
}
//  [go]
package main

import "fmt"

func main() {
	var (
		a, b, c, d, ab, cd int
	)

	fmt.Scan(&a)
	fmt.Scan(&b)
	fmt.Scan(&c)
	fmt.Scan(&d)

	ab = a * b
	cd = c * d

	if ab > cd {
		fmt.Print(ab)
	} else if ab < cd {
		fmt.Print(cd)
	} else {
		fmt.Print("error")
	}
}
//  [go]
package main

import (
	"fmt"
	"math"
)

func main() {
	// Code for A - Two Rectangles
	var A, B, C, D int
	fmt.Scanf("%d %d %d %d", &A, &B, &C, &D)
	fmt.Println(math.Max(float64(A*B), float64(C*D)))
}
//  [go]
package main

import (
  "fmt"
)

func main(){
  var a, b, c, d uint
  fmt.Scan(&a, &b, &c, &d)
  
  if a * b <= c * d {
    fmt.Print(c*d)
  }else if {
    fmt.Print(a*b)
  }
}
//  [ruby]
a,b,c,d = gets.split.map(&:to_i)
puts [a*b,c*d].max
//  [ruby]
a, b, c, d = gets.split(" ").map(&:to_i)
ab = a * b
cd = c * d
if ab > cd
  puts ab
elsif ab < cd
  puts cd
else
  puts ab
end
//  [ruby]
a, b, c, d = gets.split(" ").map(&:to_i)
p [a * b, c * d].max
//  [ruby]
a, b, c, d = gets().chomp.split("\s").map{|x| x.to_i}

r1 = a * b
r2 = c * d

if r1 > r2
  puts r1
else
  r2
end
//  [ruby]
a,b,c,d = gets.split.map(&:to_s)
puts [a*b,c*d].max
//  [ruby]
A, B, C, D = gets.split.map(&:to_i)

if A * B != C * D
  puts A * B
else
  puts [A * B, C * D].max
end
//  [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 a: i64 = read();
    let b: i64 = read();
    let c: i64 = read();
    let d: i64 = read();

    if a * b < c * d {
        println!("{}", c * d);
    } else {
        println!("{}", a * b);
    }
}
//  [rust]
use std::cmp::*;
use std::io::*;
use std::num::*;
use std::str::*;

fn read<T: FromStr>() -> T {
    let stdin = stdin();
    let s = stdin
        .bytes()
        .map(|c| c.unwrap() as char)
        .skip_while(|c| c.is_whitespace())
        .take_while(|c| !c.is_whitespace())
        .collect::<String>();
    s.parse::<T>().ok().unwrap()
}

fn string() -> String {
    read()
}

fn int() -> i64 {
    read()
}

fn char() -> char {
    read::<String>().pop().unwrap()
}

fn vecchar() -> Vec<char> {
    string().chars().collect()
}

fn vecint(n: i64) -> Vec<i64> {
    let mut vec = Vec::new();
    for i in 0..n {
        vec.push(int())
    }
    vec
}

fn main() {
    let (a, b, c, d) = (int(), int(), int(), int());
    println!("{}", max(a * b, c * d))
}
//  [rust]
use std::io;
use std::cmp::max;

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 main() {
	let v:Vec<i32> = procon_read();
	let a:i32 = v[0];
	let b:i32 = v[1];
	let c:i32 = v[2];
	let d:i32 = v[3];
	println!("{}", max(a*b, c*d));
}
//  [rust]
use proconio::input;

use std::cmp::*;
// use std::collections::*;
// use proconio::marker::Chars;

fn main() {
    input! {
        // s: String
        a: i32,
        b: i32,
        c: i32,
        d: i32,
    }
    print("{}", max(a * b, c * d));
}
//  [rust]
use core::cmp::max;
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! {
        a:usize,
        b:usize,
        c:usize,
        d:usize,
    }
    let mut A = a * b;
    let mut B = c * d;
    println!("{}", max(A, B));
}
//  [rust]
use std::vec::Vec;
use std::collections::HashMap;

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 read_touple<T: std::str::FromStr + Copy>() -> (T, T) {
  let v: Vec<T> = read_vec();
  assert_eq!(v.len(), 2);
  (v[0], v[1])
}

const MOD: usize = 1_000_000_000 + 7;

fn main() {
  let n: usize = read();
  let mut map = HashMap::new();
  let mut ans = 1;

  for i in 1..n+1 {
    let hash = trial_division(i);
    //println!("i = {} hash = {:?}",i,  hash);
    for (key, count) in hash.into_iter() {
      match map.get_mut(&key) {
          Some(x) => {
            *x += count;
          },
          _  => { map.insert(key, count); },
      }
    }
  }
  map.remove(&1);
  //println!("{:?}", map);
  for (key, count) in map.into_iter() {
    ans *= (count + 1);
    ans %= MOD;
  }
  println!("{}", ans);
}





// 試し割り
// O(√N)
fn trial_division(n :usize) -> HashMap<usize, usize>{
    let mut primes = HashMap::new();
    let mut i = 2;
    let mut n = n;

    //  n を root n 以下の整数で割り切れるまで割っていく
    while i * i <= n {
        while n % i == 0 {
            n /= i;
            // match primes.get_mut(&i) {
            //   None => { primes.insert(i, 1); },
            //   Some(x) => {
            //       *x += 1;
            //   },
            // }

            if let Some(x) = primes.get_mut(&i) {
              *x += 1;
            } else {
              primes.insert(i, 1);
            }
        }
        i+=1;
    }

    // 最後にnが素数になっている場合はそれ自身も素因数に含めて終了
    // match primes.get_mut(&n) {
    //   None => { primes.insert(n, 1); },
    //   Some(x) => {
    //     *x += 1;
    //   },
    // }

     if let Some(x) = primes.get_mut(&n) {
              *x += 1;
            } else {
              primes.insert(n, 1);
            }

    primes
}
//  [swift]
let i=readLine()!.characters.split(" ").map{Int(String($0))!};print(max(i[0]*i[1],i[2]*i[3]))
//  [swift]
let i=readLine()!.characters.split(" ").map{Int(String($0))!};print(max(i[0]*i[1],i[2],i[3]))
//  [typescript]
const stdin = require('fs').readFileSync('/dev/stdin', 'utf8')

const [a, b, c, d] = stdin
  .split('\n')[0]
  .split(' ')
  .map(Number)

console.log(a * b >= c * d ? a * b : c * d)
//  [typescript]
const main = (input) => {
  input = input.split(' ');
  const a = parseInt(input[0], 10);
  const b = parseInt(input[1], 10);
  const c = parseInt(input[2], 10);
  const d = parseInt(input[3], 10);
  
  if (a*b>=c*d) {
    console.log(a*b);
  }else if (a*b<=c*d){
    console.log(c*d);
  }else{
    console.log(a*b);
  }
  
}
 
main(require('fs').readFileSync('/dev/stdin', 'utf8'));
//  [typescript]
const input=require('fs').readFileSync('/dev/stdin', 'utf8').split(/[\s]/);const nin=()=>{const r = input[0];input.shift();return Number(r)};const nrin=(n)=>{const a:number[]=[];rep(n,()=>a.push(nin()));return a};const sin=()=>{const r = input[0];input.shift();return String(r)};const out=(...a)=>{console.log(...a)};const floor=(a)=>{return Math.floor(a)};const abs=(a)=>{return Math.abs(a)};const min=(...a)=>{return Math.min(...a)};const max=(...a)=>{return Math.max(...a)};const rep=(n, callback)=>{for(let i = 0;i < n; i++){callback()}};const strrep=(s, i, v)=>{return s.slice(0, i)+v+s.slice(i+1);};const permutation=({result=[],pre=[],post,n=post.length})=>{if(n>0){post.forEach((_,i)=>{const rest=[...post];const elem=rest.splice(i, 1);permutation({result, pre: [...pre,...elem],post:rest,n:n-1})})}else{result.push(pre)}return result};const sw=(s,a:any[],op:'=='|'>='|'>'|'<='|'<'='==')=>{for(let i=0;i<a.length;i+=2){if(op==='=='){if(s==a[i])return a[i+1]}else if(op==='>='){if(s>=a[i])return a[i+1]}else if(op==='<='){if(s<=a[i])return a[i+1]}else if(op==='>'){if(s>a[i])return a[i+1]}else if(op==='<'){if(s<a[i])return a[i+1]}}return a[a.length-1];};const or=(a,...b)=>{for(let i=0;i<b.length;i++)if(a==b[i])return true;return false};const maxindex=(...a)=>{return a.indexOf(Math.max.apply(null,a))};const asc=(ar:number[])=>{return ar.sort((a,b)=>{return a-b})};const desc=(ar:number[])=>{return ar.sort((a,b)=>{return b-a})};const ceil=a=>{return Math.ceil(a)};const srin=s=>{const a:string[]=[];rep(s,()=>a.push(sin()));return a};let ssinteger=-1;const ssin=()=>{ssinteger++;return input[0][ssinteger]};
const main = ()=>{
  out(max(nin()*nin(),nin()*nin()))
}
main()
//  [typescript]
st main = (input) => {
  input = input.split(' ');
  const a = parseInt(input[0], 10);
  const b = parseInt(input[1], 10);
  const c = parseInt(input[2], 10);
  const d = parseInt(input[3], 10);
  
  if (a*b>=c*d) {
    console.log(a*b);
  }else if (a*b<=c*d){
    console.log(c*d);
  }else{
    console.log(a*b);
  }
  
}
 
main(require('fs').readFileSync('/dev/stdin', 'utf8'));
//  [typescript]
const main = (input) => {
  input = input.split(' ');
  const a = parseInt(input[0], 10);
  const b = parseInt(input[1], 10);
  const c = parseInt(input[2], 10);
  const d = parseInt(input[3], 10);
  
  if (a*b>=c*d) {
    cosole.log(a*b);
  }else if (a*b<=c*d){
    cosole.log(c*d);
  }else{
    cosole.log(a*b);
  }
  
}
 
main(require('fs').readFileSync('/dev/stdin', 'utf8'));
//  [typescript]
const main = (input) => {
  input = input.split(' ');
  const a = parseInt(input[0], 10);
  const b = parseInt(input[1], 10);
  const c = parseInt(input[2], 10);
  const d = parseInt(input[3], 10);
  
  if (a*b>c*d) {
    cosole.log(a*b);
  }else if (a*b<c*d){
    cosole.log(c*d);
  }else{
    cosole.log(a*b);
  }
  
}

main(require('fs').readFileSync('/dev/stdin', 'utf8'));
//  [python]
N = int(input())

N3 = N//3
N5 = N//5
N15 = N//15

print(N*(N + 1)//2 - 3*N3*(N3 + 1)//2 - 5*N5*(N5 + 1)//2 + 15*N15*(N15 + 1)//2)
//  [python]
def resolve():
    n = int(input())
    def su(x): return x * (x + 1) // 2
    ans = 0
    ans += su(n // 3) * 3
    ans += su(n // 5) * 5
    ans -= su(n // 15) * 15
    ans = su(n) - ans
    print(ans)


if __name__ == '__main__':
    resolve()
//  [python]
#!/usr/bin/python3

def qsum(n, q):
    t = n // q
    return t * (q + q * t) // 2

n = int(input())

s = n * (n + 1) // 2
s -= qsum(n, 3)
s -= qsum(n, 5)
s += qsum(n, 15)

print(s)
//  [python]
N = int(input())
total = 0
for n in range(1, N+1):
  if N % 3 or N % 5:
    continue
  total += n
print(total)
//  [python]
N=int(input())
ans=0
for i in range(N+1):
  if i%3!=0 and a%5!=0:
    ans+=i
print(ans)
//  [python]
n=int(input())
a=[0]*n
for i in range(n):
    if i%3==0 or i%5==0:
        a[i]=0
    else:
        a[i]=i
print(sum(a))
//  [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));
		long n = Long.parseLong(br.readLine());
		long sum = sum(n);
		long tsum = 3 * sum(n / 3);
		long fsum = 5 * sum(n / 5);
		long ffsum = 15 * sum(n / 15);
		System.out.println(sum - tsum - fsum + ffsum);
	}

	public static long sum(long n) {
		return (n * (n + 1)) / 2;
	}
}
//  [java]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Main {
    private static int MOD = 1000000007;


    public static void main(String[] args) throws IOException {
        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(isr);
        String str = br.readLine();
        int n = Integer.parseInt(str);
        long total = 0;
        for (int i = 1; i <= n; i++) {
            if (i % 3 != 0 && i % 5 != 0) {
                total += i;
            }
        }
        System.out.println(total);
    }
}
//  [java]
import java.util.*;
import java.io.*;
import java.lang.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();
        int ans = 0;
        for (int i = 1; i<=n; i++){
            if ((i%3) != 0 && (i%5) != 0){
                ans += i;
            }
        }
        System.out.println(ans);
    }
}
//  [java]
import java.util.Scanner;
 
public class Main {
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int N=sc.nextInt();
    
    int a=N/3;
    int b=N/5;
    int c=N/15;
    
    int sumN=N*(N-1)/2;
    int suma=a*(a-1)/2;
    int sumb=b*(b-1)/2;
    int sumc=c*(c-1)/2;
    
    int X=sumN-3*suma-5*sumb+15*sumc;
    System.out.println(X);
  }
}
//  [java]
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();

        long sum = 0;
        for(int i = 1; i<a; i++){
            if(i % 3 != 0 && i % 5 != 0){
                sum += i;
            }
        }
        System.out.println(sum);
    }
}
//  [cpp]
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<vector>
#include<functional>
#include<algorithm>
#include<stdlib.h>
#include<string>
#include<cmath>
#include<deque>
using namespace std;
typedef long long ll;
#define rep(i,a,b) for(int i=a;i<b;i++)
#define all(_x) _x.begin(), _x.end()
#define r_sort(_x) sort(_x.begin(), _x.end(), std::greater<int>())
#define INF 1LL << 60
#define MAX 1000000000
int main() {
	int N;
	ll s = 0;
	scanf("%d", &N);
	rep(i, 1, N + 1) {
		if (i % 3 && i % 5)s += i;
	}
	printf("%lld\n", s);
	return 0;
}
//  [cpp]
//
// Created by chuan on 2020-04-10.
//

#include <iostream>
#include <algorithm>
#include <set>
#include <string>
#include <vector>

using ll = long long;
using namespace std;
int main() {

    ll N; cin>>N;

    ll res{};

    ll s = (N+1)*N/2;
    for (ll i = 3; i <= N; i+=3) {
        s -= i;
    }
    for (ll i = 5; i <= N; i+=5) {
        s -= i;
    }

    for (ll i = 15; i <= N; i+=15) {
        s += i;
    }
    cout<<s<<endl;

    return 0;
}
//  [cpp]
#include <iostream>

using namespace std;

int main() {
    long long n;
    cin >> n;
    cout << n * (n + 1) / 2
            - (n / 3) * (3 * (n / 3) + 3) / 2
            - (n / 5) * (5 * (n / 5) + 5) / 2
            + (n / 15) * (15 * (n / 15) + 15) / 2 << endl;
}
//  [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;
    int s = 0;
    for (int i = 1; i <= n; i++){
        if (i % 3 != 0 && i % 5 != 0) s += i;
    }
    cout << s << '\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>
using namespace std;

int main(){
  long N;
  scanf("%ld",N);
  long ans=0;
  for(long i=1;i<=N;i++){
    if(i%3!=0 && i%5!=0) ans+=i;
  }
  printf("%ld",ans);
}
//  [cpp]
#include <bits/stdc++.h>
#define rep(i,n) for (int i = 0; i < (n); ++i)
#define ALL(c) (c).begin(),(c).end()
using namespace std;
using ll = long long;
using P = pair<int,int>;
#define chmax(x,y) x = max(x,y)
#define chmin(x,y) x = min(x,y)

const int INF = 1e9 + 10;

int N;
int res = 0;

int main() {
    cin >> N;
    for (int i = 1; i <= N; ++i) {
        if (i%3==0 || i%5==0) continue;
        res += i;
    }
    cout << res << endl;
}
//  [c]
#include <stdio.h> 

long long int sum (long long int n) {
    return n*(n+1)/2;
}

int main() {
    long long int N;
    scanf("%lld", &N);

    long long int ans;
    ans=sum(N)-3*sum(N/3)-5*sum(N/5)+15*sum(N/15);
    printf("%lld\n", ans);

    return 0;
}
//  [c]
#include<stdio.h>
int main(void){
  long int n,s,a,b,c,d,e,f,g;
  scanf("%ld", &n);
  s=(n*(n+1))/2;
  a=3*(n/3);
  b=5*(n/5);
  c=15*(n/15);
  d=((3+a)*(n/3))/2;
  e=((5+b)*(n/5))/2;
  f=((15+c)*(n/15))/2;
  g=s+f-d-e;
  printf("%ld", g);
  return 0;
}
//  [c]
#include <stdio.h>

int main(int argc, char const *argv[]) {

  long long int N;
  scanf("%lld", &N);

  long long int F, B, FB;
  F = N / 3;
  B = N / 5;
  FB = N / 15;

  long long int sum = N * (1 + N) / 2;
  sum = sum - ((3 + 3 * F) * F / 2) - ((5 + 5 * B) * B / 2) + (((15 + 15 * FB) * FB / 2));

  printf("%lld\n", sum);

  long long int A;
  return 0;
}
//  [c]
#include<algorithm>
#include<string.h>
#include<queue>
#include<math.h>
#include <iostream>
using namespace std;
///int a[1005];
int main()
{
   int n;
   cin>>n;
   long long sum=0;
   for(int i=1;i<=n;i++)
   {
    if(i%3==0||i%5==0)
        sum+=0;
    else
        sum+=i;
   }
    cout<<sum<<endl;
    return 0;
}
//  [c]
#include<stdio.h>
int main()
{
    int n;
    scanf ("%d",&n);
    long long int sum=0;
    for (int i=1;i<=n;i++)
    {
        if (i%3==0 )
        {
        }
        else if (i%5==0 )
        {
            
        }
        else if (i%3==0 && i%5==0)
        {
            
        }
        else
        {
            sum=sum+i;
        }
    }
    printf ("%I64d\n",sum);

}
//  [c]
#include<stdio.h>
int main()
{
    int n;
    scanf ("%d",&n);
    long long int sum=0;
    for (int i=1;i<=n;i++)
    {
        if (i%3==0 )
        {
        }
        else if (i%5==0 )
        {
        }
        else if (i%3==0 && i%5==0)
        {
        }
        else
        {
            sum=sum+i;
        }
    }
    printf ("%I64d",sum);

}
//  [javascript]
const main = input => {
  const n = parseInt(input)
  let r = 0;
  for (let i = 1; i <= n; i++) if (i % 3 != 0 && i % 5 != 0) r += i
  return r
}

console.log(main(require('fs').readFileSync('/dev/stdin', 'utf8')));
//  [javascript]
function Main (input) {
  let N = Number(input);
  let sum = 0;
  for(let i = 1; i < (N+1); i++){
      if((i % 3 !== 0) && (i % 5 !== 0)) {
        sum += i;
      }
  }
  console.log(sum);
}
  
  
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
//  [javascript]
function Main(input) {
    var N = parseInt(input,10);
    var sum = 0;
    for(var i=1;i<=N;i++){
        if(i%3 != 0 && i%5 !=0){
            //console.log(i);
            sum += i;
        }
    }
    console.log(sum);
}
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
//  [javascript]
// inputに入力データ全体が入る
function Main(input) {
	// 1行目がinput[0], 2行目がinput[1], …に入る
	var ans = 0
  input = input.trim().split("\n");
	const [N] = input[0].split(" ").map((n) => parseInt(n));
	for (i = 0; i < N; i++) {
		if (!(i % 5 == 0 || i % 3 == 0)) {
			ans = BigInt(ans) + BigInt(i)
		}
	}

  //出力
  console.log(ans.toString());
}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
// Main(require("fs").readFileSync("./input.txt", "utf-8"));
//  [javascript]
// inputに入力データ全体が入る
function Main(input) {
	// 1行目がinput[0], 2行目がinput[1], …に入る
	var ans = 0
  input = input.trim().split("\n");
	const [N] = input[0].split(" ").map((n) => parseInt(n));
	for (i = 0; i < N; i++) {
		if (!(i % 5 == 0 || i % 3 == 0)) {
			ans = ans +i
		}
	}

  //出力
  console.log(ans);
}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
// Main(require("fs").readFileSync("./input.txt", "utf-8"));
//  [javascript]
import java.io.*;

public class Main {
    public static void main (String[] args) throws Exception {
        BufferedReader reader =
            new BufferedReader (new InputStreamReader (System.in));
        long N = Long.parseLong (reader.readLine());
        System.out.println (calc (1, N) - calc (3, N) - calc (5, N) +
                            calc (15, N));
        return;
    }

    static long calc (long n, long N) {
        return (n + N / n * n) * (N / n) / 2;
    }
}
//  [go]
package main

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

func main() {
	nextReader = newScanner()
	n := nextInt()
	fmt.Println(sum(n) - sum(n/3)*3 - sum(n/5)*5 + sum(n/15)*15)
}

func sum(n int) int {
	return n * (n + 1) / 2
}

// ---------------------------------------------------------------
// I/O
// ---------------------------------------------------------------
var nextReader func() string

func newScanner() func() string {
	sc := bufio.NewScanner(os.Stdin)
	sc.Buffer(make([]byte, 1024), int(1e11))
	sc.Split(bufio.ScanWords)
	return func() string {
		sc.Scan()
		return sc.Text()
	}
}

func nextString() string { return nextReader() }

func nextInt() int { n, _ := strconv.Atoi(nextReader()); return n }

func nextInts(size int) []int {
	ns := make([]int, size)
	for i := 0; i < size; i++ {
		ns[i] = nextInt()
	}
	return ns
}
//  [go]
package main

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

func main() {
	// var input = StrStdin(1)

	// N, _ := strconv.Atoi(input[0][0])

	var N int
	fmt.Scanf("%d", &N)

	var fizz int = N / 3
	var bazz int = N / 5
	var fizzbazz int = N / 15

	var sum int = (1 + N) * N / 2
	var sumF int = 3 * (1 + fizz) * fizz / 2
	var sumB int = 5 * (1 + bazz) * bazz / 2
	var sumFB int = 15 * (1 + fizzbazz) * fizzbazz / 2

	// fmt.Printf("fizz:%d bazz:%d fizzbuzz:%d\n", fizz, bazz, fizzbazz)
	// fmt.Printf("sum:%d sumF:%d sumB:%d sumFB:%d\n", sum, sumF, sumB, sumFB)

	fmt.Println(sum - sumF - sumB + sumFB)
}

func StrStdin(num int) [][]string {
	var stringInput [][]string
	scanner := bufio.NewScanner(os.Stdin)

	for i := 0; i < num; i++ {
		scanner.Scan()
		if s := scanner.Text(); s != "" {
			stringInput = append(stringInput, strings.Split(strings.TrimSpace((scanner.Text())), " "))
		} else {
			break
		}
	}

	return stringInput
}
//  [go]
package main

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

func main() {
	var input = StrStdin(1)

	N, _ := strconv.Atoi(input[0][0])

	// var N int
	// fmt.Scanf("%d", &N)

	var fizz int = N / 3
	var bazz int = N / 5
	var fizzbazz int = N / 15

	var sum int = (1 + N) * N / 2
	var sumF int = 3 * (1 + fizz) * fizz / 2
	var sumB int = 5 * (1 + bazz) * bazz / 2
	var sumFB int = 15 * (1 + fizzbazz) * fizzbazz / 2

	fmt.Println(sum - sumF - sumB + sumFB)
}

func StrStdin(num int) [][]string {
	var stringInput [][]string
	scanner := bufio.NewScanner(os.Stdin)

	for i := 0; i < num; i++ {
		scanner.Scan()
		if s := scanner.Text(); s != "" {
			stringInput = append(stringInput, strings.Split(strings.TrimSpace((scanner.Text())), " "))
		} else {
			break
		}
	}

	return stringInput
}
//  [go]
package main

import "fmt"

func main() {
	var N int

	fmt.Scan(&N)

	answer := int64(0)
	for i := 0; i < N; i++ {
		if i%3 != 0 && i%5 != 0 {
			answer += int64(i)
		}
	}
	fmt.Println(answer)
}
//  [go]
package main

import "fmt"

func main() {
	var N int

	fmt.Scan(&N)

	answer := 0
	for i := 0; i < N; i++ {
		if i%3 != 0 && i%5 != 0 {
			answer += i
		}
	}
	fmt.Println(answer)
}
//  [go]
package main

import (
	"fmt"
)

func main() {

	var N int
	fmt.Scanf("%d", &N)

	var count int64
	count = 0

	for i := 0; i < N; i++ {
		if i%3 == 0 || i%5 == 0 {
			continue
		} else {
			count = count + int64(i)
		}
	}

	fmt.Println(count)
}
//  [ruby]
n = gets.to_i
c = n/15
m = n%15
arr = [0,1,2,0,4,0,0,7,8,0,0,11,0,13,14]
p 60*(c**2) + (m+1).times.map{|i| arr[i]!=0 ? (c*15+i) : 0}.sum
//  [ruby]
N = gets.to_i
n3 = N / 3
n5 = N / 5
n15 = N / 15

sn = N * (N + 1) / 2
s3n = 3 * n3 * (n3 + 1) / 2
s5n = 5 * n5 * (n5 + 1) / 2
s15n = 15 * n15 * (n15 + 1) / 2

puts sn - s3n - s5n + s15n
//  [ruby]
N = gets.to_i
a = N / 3
b = N / 5
c = N / 15

d = N * (1 + N) / 2
e = a * (3 + a * 3) / 2
f = b * (5 + b * 5) / 2
g = c * (15 + c * 15 ) / 2
puts d - e - f + g
//  [ruby]
a=0
(1..gets.to_i).each{|i|a+=i if i%3==0||i%5==0}
p a
//  [ruby]
N = gets.to_i
ans = 0
for i in 1...N+1 do
    if i%3==0 or i%5==0 then
        ans += i
    end
end
puts ans
//  [ruby]
package main

import (
	"fmt"
)

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

	ans := 0
	for i := 1; i <= n; i++ {
		if !(i%5 == 0 || i%3 == 0) {
			ans += i
		}
	}
	fmt.Println(ans)
}
//  [rust]
use proconio::input;
fn main() {
    input! {
        n: u64,
    }
    let f = |n| n*(n+1)/2;
    println!("{}",f(n)-f(n/3)*3-f(n/5)*5+f(n/15)*15);
}
//  [rust]
use proconio::input;

fn main() {
    input! {
        n: u64
    }

    let ans = sum(n) - sum(n/3) * 3 - sum(n/5) * 5 + sum(n/15) * 15;

    println!("{}", ans);
}

fn sum(n: u64) -> u64 {
    n * (n+1) / 2
}
//  [rust]
use proconio::input;

fn main() {
    input! {
        n: i64
    }
    let sum = |n| { n*(n+1)/2 };
    let ans = sum(n) - 3*sum(n/3) - 5*sum(n/5) + 15*sum(n/15);
    println!("{}", ans);
}
//  [rust]
use proconio::{fastout, input};

#[fastout]
fn main() {
    input!(n: usize);
    let ans: usize = (0usize..n).filter(|x| x % 3 != 0 && x % 5 != 0).sum();

    println!("{}", ans);
}
//  [rust]
// -*- coding:utf-8-unix -*-

use proconio::input;

fn main() {
    input! {
        n: u32,
    }

    let ans: u32 = (1..n + 1).filter(|i| i % 3 != 0 && i % 5 != 0).sum();
    println!("{}", ans);
}
//  [rust]
// -*- coding:utf-8-unix -*-

use proconio::input;

fn main() {
    input! {
        n: u32,
    }

    let mut ans = 0;
    for i in 0..n + 1 {
        if i % 3 == 0 && i % 5 == 0 {
            ans += i;
        }
    }
    println!("{}", ans);
}
//  [swift]
let a = Int(readLine()!)!
var j = 0
for i in 0...a
{
    if i%3 == 0&&i%5 == 0||i%3 == 0||i%5 == 0 {
        
    }else{
     j += i
    }
}

print(j)
//  [swift]
func main() {
    var sum = 0;
    let N = Int(readLine()!)!
    for a in 1...N {
        if a % 3 > 0 && a % 5 > 0 {
            sum += a;
        }
    }
    print(sum)
}

main()
//  [swift]
let n = Int(readLine()!)!
let result = (1...n).lazy.filter { $0 % 3 != 0 && $0 % 5 != 0 }.reduce(into: 0) { $0 += $1 }
print(result)
//  [swift]
let N = Int(readLine()!) ?? 0
var total = 0
for i in 1...N{
  if i % 3 == 0 || i % 5 == 0{
  	total += i
  }
}
print(total)
//  [swift]
import Foundation
 
let N = readLine()!
var sum = 0
for i in 1...15 {
	if i % 3 != 0 && i % 5 != 0 {
    	sum += i
    }
}
print(sum)
//  [swift]
import Foundation

func readInt() -> [Int]{
    return readLine()!.split(separator: " ").map{Int($0)!}
}

func main() {
    let N = Int(readLine()!)!
    var ans = 0
    for i in 1...N {
        if i % 15 == 0 || i % 5 == 0 || i % 3 == 0 {
            ans += i
        }
    }
    
    print(ans)
}

main()
//  [typescript]
import { readFileSync } from "fs";

const quotient = (dividend: number, divisor: number): number =>
  Math.floor(dividend / divisor);

const summention = (n: number, step = 1): number => {
  const q = quotient(n, step);
  return step * ((q + 1) * quotient(q, 2) + (q % 2) * (quotient(q, 2) + 1));
};

export const solveB = (n: number): number =>
  summention(n) - summention(n, 3) - summention(n, 5) + summention(n, 15);

if (require.main === module)
  console.log(solveB(+readFileSync("/dev/stdin", "utf8")));
//  [typescript]
import * as fs from 'fs';

function Main(input: string) {
    const constraintN = parseInt(input, 10);

    let summ = 0;
    for (let i = 1; i <= constraintN; i++) {
        if (i % 3 !== 0 &&
            i % 5 !== 0) {
            summ += i;
            // console.log(`i=`, i);
        }
    }

    //output
    console.log(summ);
}

Main(fs.readFileSync('/dev/stdin', 'utf8'));
//  [typescript]
import * as fs from "fs";

const input = (fs.readFileSync("/dev/stdin", "utf8") as string).split("\n");
const n = +input[0];
let result = 0
for(let i=1;i<=n;i++){
	if(i%3===0 || i%5===0)continue;
	result+=i;
}

console.log(result);
//  [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):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:number):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[]):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[]):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:number, callback:any){
    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 m = () => {
  const o = new AtCoder()
  let g=0n;
  for(let i=0;i<o.N;i++){
    if(i % 3 == 0 || i % 5 == 0)continue
    g=BigInt(i) + g;
  }
  o.o(g.toString())
}
m();
//  [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()
  let g=0n;
  for(let i=0;i<o.N;i++){
    if(i % 3 == 0 || i % 5 == 0)continue
    g=BigInt(i) + g;
  }
  o.o(g)
}
main();
//  [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()
  let g=0
  for(let i=0;i<o.N;i++){
    if(i % 3 == 0 || i % 5 == 0)continue
    g+=i;
  }
  o.o(g)
}
main();
//  [python]
a,b=map(int,input().split())
print('Even' if a*b%2==0 else 'Odd')
//  [python]
#input
a,b = map(int,input().split())
#b = int(input())
 
#for i in range(K)
#	temp = temp
result = a*b

#output
if result%2 == 1:
  print('Odd')
else:
  print('Even')
//  [python]
#86a
a,b = map(int, input().split())
if a*b%2==0:
    print("Even")
else:
    print("Odd")
//  [python]
a, b = int(input())
print('Even' if a*b % 2 == 0 else 'Odd')
//  [python]
a,b = map(int,input(),split())
if a*b % 2 == 0:
    print("Even")
else:
    print("Odd")
//  [python]
a = map(int,input(),split())
if a*b % 2 == 0:
    print("Even")
else:
    print("Odd")
//  [java]
import java.util.*;
import java.io.*;

public class Main {
	public static void main(String []args)throws Exception{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String str=br.readLine();
		StringTokenizer st = new StringTokenizer(str);
		int a=Integer.parseInt(st.nextToken());
		int b=Integer.parseInt(st.nextToken());
		int c=a*b;
		if(c%2==0){
			System.out.print("Even");
		}else{
			System.out.print("Odd");
		}
	}
	
}
//  [java]
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.InputMismatchException;
import java.util.NoSuchElementException;

public class Main {
	static PrintWriter out;
	static InputReader ir;

	static void solve() {
		long a = ir.nextLong();
		long b = ir.nextLong();
		out.println((a * b % 2 == 0) ? "Even" : "Odd");
	}

	public static void main(String[] args) {
		ir = new InputReader(System.in);
		out = new PrintWriter(System.out);
		solve();
		out.flush();
	}

	static class InputReader {

		private InputStream in;
		private byte[] buffer = new byte[1024];
		private int curbuf;
		private int lenbuf;

		public InputReader(InputStream in) {
			this.in = in;
			this.curbuf = this.lenbuf = 0;
		}

		public boolean hasNextByte() {
			if (curbuf >= lenbuf) {
				curbuf = 0;
				try {
					lenbuf = in.read(buffer);
				} catch (IOException e) {
					throw new InputMismatchException();
				}
				if (lenbuf <= 0)
					return false;
			}
			return true;
		}

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

		private boolean isSpaceChar(int c) {
			return !(c >= 33 && c <= 126);
		}

		private void skip() {
			while (hasNextByte() && isSpaceChar(buffer[curbuf]))
				curbuf++;
		}

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

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

		public int nextInt() {
			if (!hasNext())
				throw new NoSuchElementException();
			int c = readByte();
			while (isSpaceChar(c))
				c = readByte();
			boolean minus = false;
			if (c == '-') {
				minus = true;
				c = readByte();
			}
			int res = 0;
			do {
				if (c < '0' || c > '9')
					throw new InputMismatchException();
				res = res * 10 + c - '0';
				c = readByte();
			} while (!isSpaceChar(c));
			return (minus) ? -res : res;
		}

		public long nextLong() {
			if (!hasNext())
				throw new NoSuchElementException();
			int c = readByte();
			while (isSpaceChar(c))
				c = readByte();
			boolean minus = false;
			if (c == '-') {
				minus = true;
				c = readByte();
			}
			long res = 0;
			do {
				if (c < '0' || c > '9')
					throw new InputMismatchException();
				res = res * 10 + c - '0';
				c = readByte();
			} while (!isSpaceChar(c));
			return (minus) ? -res : res;
		}

		public double nextDouble() {
			return Double.parseDouble(next());
		}

		public int[] nextIntArray(int n) {
			int[] a = new int[n];
			for (int i = 0; i < n; i++)
				a[i] = nextInt();
			return a;
		}

		public long[] nextLongArray(int n) {
			long[] a = new long[n];
			for (int i = 0; i < n; i++)
				a[i] = nextLong();
			return a;
		}

		public char[][] nextCharMap(int n, int m) {
			char[][] map = new char[n][m];
			for (int i = 0; i < n; i++)
				map[i] = next().toCharArray();
			return map;
		}
	}

	static void tr(Object... o) {
		out.println(Arrays.deepToString(o));
		out.flush();
	}
}
//  [java]
import java.io.*;
import java.util.*;
public class Main {

  public static void main (String args[]) throws Exception {
  
    if(oddEven() == 1) {
        System.out.println("Odd");
    } else {
        System.out.println("Even");
    }
  }
 
  public static int oddEven() throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = br.readLine();
        StringTokenizer st;
        int prod = 0;
        String[] tmp = line.split(" ");
        prod = Integer.parseInt(tmp[0]) * Integer.parseInt(tmp[1]);
        
        return prod % 2;
  }

}
//  [java]
import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    int a=sc.nextInt();
    int b=sc.nextInt();
    if((a*b)%2==0){
      System.out.println("Even");
    }else{
      System.out.printnln("Odd");
    }
  }
}
//  [java]
import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    int a=sc.nextInt();
    int b=sc.nextInt();
    if((a*b)%2==0){
      Sytem.out.println("Even");
    }else{
      Sytem.out.printnln("Odd");
    }
  }
}
//  [cpp]
#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<queue>
#include<deque>
#include<string>
#include<string.h>
#include<vector>
#include<set>
#include<map>
#include<bitset>
#include<stdlib.h>
#include<cassert>
#include<time.h>
#include<bitset>
using namespace std;
const long long mod=998244353;
const long long inf=mod*mod;
const long long d2=(mod+1)/2;
const double EPS=1e-6;
const double PI=acos(-1.0);
int ABS(int a){return max(a,-a);}
long long ABS(long long a){return max(a,-a);}

int main(){
	int a,b;scanf("%d%d",&a,&b);
	if(a*b%2)printf("Odd\n");else printf("Even\n");
}
//  [cpp]
#include<cstdio>
int main() {
	int a, b;
	scanf("%d%d", &a, &b);
	if ((a*b) % 2 == 0) {
		printf("Even");
	}
	else {
		printf("Odd");
	}
	return 0;
}
//  [cpp]
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>

using namespace std;

int main()
{
    int a, b;
    if (scanf("%d%d", &a, &b) < 2) return 0;

    printf("%s\n", a * b % 2 == 0 ? "Even" : "Odd");

    return 0;
}
//  [cpp]
#include <bits/stdc++.h>
using namespace std;

int main() {
  int a, b;
  cin << a << b;
  if ((a*b)%2==1) {
    cout << "odd" << endl;
  }
  else {
    cout << "even" << endl;
}
//  [cpp]
#include <bits/stdc++.h>

using namespace std;

int main() {

  int a, b;

  cin>> a >> b ;

int seki =a*b;
if (seki%2= 0) {
cout << "Even" << endl;

  }

  

  else if(seki%2=1){

    // ここにプログラムを追記

    cout<<"Odd"<<endl;

  }

  
 

  }
//  [cpp]
#include <bits/stdc++.h>
using namespace std;

int main() {
  int a, b;
  cin >> a >> b;
  int x = a * b;
  
  if (x % 2 == 0) {
    cout << "even" << endl;
  }
  else {
    cout << "odd" << endl;
  }
}
//  [c]
#include <stdio.h>

int main(void)
{
    int a,b;

    scanf("%d%d",&a,&b);

    if(a%2&&b%2)
        printf("Odd");
    else
        printf("Even");

    return 0;
}
//  [c]
#include <stdio.h>

int main(void) {
  int a, b;
  scanf("%d %d", &a, &b);
  if (a % 2 == 0 || b % 2 == 0) {
    printf("Even\n");
  } else {
    printf("Odd\n");
  }

  return 0;
}
//  [c]
#include <stdio.h>

int main(void){

  int data1, data2, seki;
  
  scanf("%d%d", &data1, &data2);

  seki = data1 * data2;

  if(seki % 2 == 0){
    printf("Even\n");
  } else {
    printf("Odd\n");
  }
    
  return 0;                    

}
//  [c]
#include<stdio.h>
int main(void) {
	int a, b;
	int s;
	scanf_s("%d %d", &a, &b);
	s = a * b;

	if (s % 2 == 0) {
		printf("Even\n");
	}
	else
		printf("Odd\n");

	return 0;
}
//  [c]
#include<stdio.h>
int main(void) {
	int a, b;
	int s;
	scanf_s("%d %d", &a, &b);
	s = a * b;

	if (s % 2 = 0) {
		printf("Even\n");
	}
	else
		printf("Odd\n");

	return 0;
}
//  [javascript]
function main(input) {
    const splitInput = input.split(' ');
    if((splitInput[0] * splitInput[1]) % 2 === 0) {
        //偶数
        console.log('Even');
    } else {
        //奇数
        console.log('Odd');
    }
}
main(require('fs').readFileSync('/dev/stdin', 'utf8'));
//  [javascript]
// inputに入力データ全体が入る
function Main(input) {
	// 1行目がinput[0], 2行目がinput[1], …に入る
	//input = input.split("\n");
	tmp = input.split(" ");
	//文字列から10進数に変換するときはparseIntを使います
	var a = parseInt(tmp[0], 10);
	var b = parseInt(tmp[1], 10);
	var output_string="";
	output_string= a * b % 2 == 0 ? "Even" : "Odd" ;
	//出力
	console.log(output_string);
}

//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
//  [javascript]
function main (input) {
	const args = input.split(' ');
	const a = parseInt(args[0], 10);
	const b = parseInt(args[1], 10);
 
	if ((a * b) % 2 === 0) {
        console.log('Even');
    } else {
        console.log('Odd');
    }
}
 
main(require('fs').readFileSync('/dev/stdin', 'utf8'));
//  [javascript]
function Main(input) {
  var input_splited = input.split(' ');
  var a = input_splited[0];
  var b = input_splited[1];
  var ab = a * b;
  if (ab % 2 == 0) {
    console.log('Even');
  } else {
    console.log('Odd');
  }
}
//  [javascript]
function main(input) {
  const inputs = input.split(' ');
  const T = inputs[0];
  const X = inputs[1];
  console.log(T / X);
}
main(require('fs').readFileSync('/dev/stdin', 'utf8'));
//  [javascript]
process.stdin.resume();
process.stdin.setEncoding('utf8');

var input_lines = [];
var reader = require('readline').createInterface({
  input: process.stdin,
  output: process.stdout
});

reader.on('line', (line) => {
  input_lines.push(parseInt(line));
});

if((input_lines[0]*input_lines[1]) % 2 === 0) console.log("Even");
else console.log("Odd");
//  [go]
package main

import (
        "fmt"
)

func main() {
        a := 0
        b := 0
        fmt.Scan(&a, &b)

        c := a * b
        if c%2 == 0 {
                fmt.Println("Even")
        } else {
                fmt.Println("Odd")
        }

}