For a positive integer n let's define a function f:

f(n) = - 1 + 2 - 3 + .. + ( - 1)nn

Your task is to calculate f(n) for a given integer n.

Input

The single line contains the positive integer n (1 ≤ n ≤ 1015).

Output

Print f(n) in a single line.

Examples

Input

4


Output

2


Input

5


Output

-3

Note

f(4) = - 1 + 2 - 3 + 4 = 2

f(5) = - 1 + 2 - 3 + 4 - 5 = - 3
import java.util.*;
import java.io.*;

public class Main{

	public static int contains(int [] array,int a){
		int c=0;
		for(int i=0;i<array.length;i++){
			if(array[i]==a){
				c=1;
				break;
			}else{
				c=2;
			}
		}return c;
	}

	public static void print(int[] array){
		for(int i=0;i<array.length;i++){

			System.out.print(array[i]+" ");
		}
		System.out.println();
	}

	public static int[] sort(int[] array){
		int h=array.length/2;  // here, h is the interval.
		while(h>0){
			for(int i=h;i<array.length;i++){
				int temp=array[i];
				int j;
				for( j=i;j>=h && array[j-h]>temp; j=j-h){
					array[j]=array[j-h];
				}
				array[j]=temp;

				print(array);
			}
			h=h/2;
			
		}
		return array;
	}

	public static boolean isUpperCase(String s){
		return s==s.toUpperCase();
	}
	public static boolean isLowerCase(String s){
		return s==s.toLowerCase();
	}

	public static int con(String s, String a){
		int c=0;
		for(int i=0;i<s.length();i++){
			if(s.substring(i,i+1).equals(a)){
				c=1;
				break;
			}else{
				c=2;
			}
		}
		return c;
	}

	
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		long n=sc.nextLong();
		if(n%2==0){
			long c1=(n*(2+((n/2)-1)*2))/4;
			long c2=(n*(4+((n/2)-1)*2))/4;
			// System.out.println(c1);
			// System.out.println(c2);
			System.out.println(c2-c1);
		}else{
			long m=n/2;
			long c1=((m+1)*(2+((m+1) -1 )*2))/2;
			long c2=(m*(4+((m)-1)*2))/2;
			// System.out.println(c1);
			// System.out.println(c2);
			System.out.println(c2-c1);
		}
		
}
	public static int cona(String s1,String s2){
		int c=0;
		for(int i=0;i<s1.length();i++){
			if(s1.substring(i,i+1).equals(s2)){
				c=1;
				break;
			}else{
				c=-1;
			}
		}
		return c;
	}
	public static int prime(int a){
		int c=0;
		for(int i=2;i<=a/2;i++){
			if(a%i==0){
				c=1;
				break;
			}else{
				c=0;
			}
		}
		return c;
	}

	public static int contains(String s,String a){
		int c=0;
		for(int i=0;i<s.length();i++){
			
			if(s.substring(i,i+1).equals(a)&&!a.equals("l")){
				c=1;
				break;
			}else if(a.equals("l")){
				int m=count(s,a);
				if(m==0 || m==1){
					c=0;
				}else{
					c=1;
					break;
				}
			}
			else{
				c=0;
			}
		}
		return c;
	}
	public static int count(String s,String a){
		int c=0;
		for(int i=0;i<s.length();i++){
			if(s.substring(i,i+1).equals(a)){
				c++;
			}
		}
		return c;
	}

	public static int minpos(int[] array,int c){
		int a=0;
		ArrayList<Integer> list = new ArrayList<Integer>();
		for(int i=0;i<array.length;i++){
			if(array[i]==c){
				list.add(i);
			}
		}
		Collections.sort(list);
		return list.get(list.size()-1);
	}
	public static int maxpos(int[] array,int c){
		ArrayList<Integer> list=new ArrayList<Integer>();
		for(int i=0;i<array.length;i++){
			if(array[i]==c){
				list.add(i);
			}
		}
		Collections.sort(list);
		return list.get(0);
	}
	
}
