Algorithm


Problem Name: 2 AD-HOC - beecrowd | 2058

Problem Link: https://www.beecrowd.com.br/judge/en/problems/view/2058

Triangles and Regular Polygons

 

By M.C. Pinto, UNILA BR Brazil

Timelimit: 1

Professor Rafael loves Computer Graphics. Its favourite activity is rendering objects, specially dolls. But he does not like to draw regular polygons using triangles. This task is done by composing a regular polygon using only triangles, in such a way that the triangles do not intercept each other and the minimum number of them are used in this composition. In the picture below you can see a square and a pentagon with its triangles.

Polygons

Professor Rafael asked you to calculate the minimum number of triangles necessary to compose a N-sided regular polygon.

 

Input

 

The input is a single number N (3 ≤ N ≤ 109), indicating the number of sides of a regular polygon.

 

Output

 

The output is the minimum number of triangles necessary to compose an N-sided regular polygon.

 

 

 

Input Samples Output Samples

3

1

 

Code Examples

#1 Code Example with C Programming

Code - C Programming


#include <stdio.h>

int main (void)
{

  int lados;

  scanf("%d", &lados);

  printf("%d\n", lados-2);


}
Copy The Code & Try With Live Editor

Input

x
+
cmd
3

Output

x
+
cmd
1

#2 Code Example with C++ Programming

Code - C++ Programming


#include <iostream>
 
using namespace std;
 
int main() {
 
    long long x;
    cin >> x;
    cout << x-2 << endl;
 
    return 0;
}
Copy The Code & Try With Live Editor

Input

x
+
cmd
3

Output

x
+
cmd
1

#3 Code Example with Java Programming

Code - Java Programming


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.Closeable;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.StringTokenizer;

public class Main {
    static Reader in = new Reader(System.in);
    static Writer out = new Writer(System.out);
    
    public static void main(String[] args) throws IOException {
        out.println(in.nextInt() - 2);
        in.close();
        out.flush();
        out.close();
    }

    ////////////////////////////////////////////////////////////////////////////
    /////////////////////////////  INPUT / OUTPUT  /////////////////////////////
    ////////////////////////////////////////////////////////////////////////////
    static class Reader implements Closeable {
        
        private final BufferedReader reader;
        private StringTokenizer tokenizer;
        
        public Reader(InputStream input) {
            reader = new BufferedReader(
                    new InputStreamReader(input));
            tokenizer = new StringTokenizer("");
        }
        
        private StringTokenizer getTokenizer() throws IOException {
            if (tokenizer == null || !tokenizer.hasMoreTokens()) {
                String line = nextLine();
                if (line == null) {
                    return null;
                }
                tokenizer = new StringTokenizer(line);
            }
            return tokenizer;
        }
        
        public boolean hasNext() throws IOException {
            return getTokenizer() != null;
        }
        
        public String next() throws IOException {
            return hasNext() ? tokenizer.nextToken() : null;
        }
        
        public String nextLine() throws IOException {
            tokenizer = null;
            return reader.readLine();
        }
        
        public int nextInt() throws IOException {
            return Integer.parseInt(next());
        }
        
        public long nextLong() throws IOException {
            return Long.parseLong(next());
        }
        
        public float nextFloat() throws IOException {
            return Float.parseFloat(next());
        }
        
        public double nextDouble() throws IOException {
            return Double.parseDouble(next());
        }
        
        public String[] nextStringArray(int size) throws IOException {
            String[] array = new String[size];
            for (int i = 0; i  <  size; i++) {
                array[i] = next();
            }
            return array;
        }
        
        public int[] nextIntArray(int size) throws IOException {
            int[] array = new int[size];
            for (int i = 0; i  <  size; i++) {
                array[i] = nextInt();
            }
            return array;
        }
        
        public long[] nextLongArray(int size) throws IOException {
            long[] array = new long[size];
            for (int i = 0; i  <  size; i++) {
                array[i] = nextLong();
            }
            return array;
        }
        
        public double[] nextDoubleArray(int size) throws IOException {
            double[] array = new double[size];
            for (int i = 0; i  <  size; i++) {
                array[i] = nextDouble();
            }
            return array;
        }
        
        @Override
        public void close() throws IOException {
            tokenizer = null;
            reader.close();
        }
    }
    
    static class Writer {
        
        private final PrintWriter writer;
        
        public Writer(OutputStream outputStream) {
            writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(outputStream)));
        }
        
        public void print(Object... objects) {
            for (int i = 0; i  <  objects.length; i++) {
                if (i != 0) {
                    writer.print(' ');
                }
                writer.print(objects[i]);
            }
        }
        
        public void println(Object... objects) {
            print(objects);
            writer.println();
        }
        
        public void close() {
            writer.close();
        }
        
        public void flush() {
            writer.flush();
        }
        
    }
}
Copy The Code & Try With Live Editor

Input

x
+
cmd
3

Output

x
+
cmd
1

#4 Code Example with Python Programming

Code - Python Programming


print(int(input()) - 2)
Copy The Code & Try With Live Editor

Input

x
+
cmd
3

Output

x
+
cmd
1
Advertisements

Demonstration


Previous
#2057 Beecrowd Online Judge Solution 2057 Time Zone Solution in C, C++, Java, Js and Python
Next
#2059 Beecrowd Online Judge Solution 2059 Odd, Even or CheatingSolution in C, C++, Java, Js and Python