Go: package main

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

var sc = bufio.NewScanner(os.Stdin)

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

func nextLineInt() []int {
	arr := strings.Split(nextLine(), " ")
	var ret []int
	for _, v := range arr {
		x, _ := strconv.Atoi(v)
		ret = append(ret, x)
	}
	return ret
}

func main() {
	cin := nextLineInt()
	F := cin[0]
	fmt.Println((F-30)/2)
}

C++: #include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<cctype>
#include<math.h>
#include<string>
#include<string.h>
#include<stack>
#include<queue>
#include<vector>
#include<utility>
#include<set>
#include<map>
#include<stdlib.h>
#include<iomanip>

using namespace std;

#define ll long long
#define ld long double
#define EPS 0.0000000001
#define INF 1e9
#define LINF (ll)INF*INF
#define MOD 1000000007
#define rep(i,n) for(int i=0;i<(n);i++)
#define loop(i,a,n) for(int i=a;i<(n);i++)
#define all(in) in.begin(),in.end()
#define shosu(x) fixed<<setprecision(x)

#define int ll //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

typedef vector<int> vi;
typedef vector<string> vs;
typedef pair<int,int> pii;
typedef vector<pii> vp;

int gcd(int a, int b){
    if(b==0) return a;
    return gcd(b,a%b);
}
int lcm(int a, int b){
    return a/gcd(a,b)*b;
}


signed main(void) {
    int n;
    cin >> n;
    cout << (n-30)/2 << endl;
}

C++: #include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <map>
#include <set>
#include <stdio.h>
#include <cstring>
#include <queue>
#include <stack>
#include <functional>
using namespace std;
#define Would
#define you


int main() {
	int n;
	cin >> n;
	cout << (n - 30) / 2 << endl;
}

C++: #include <iostream>
using namespace std;

int main() {
    int f; cin >> f;
    cout << (f - 30) / 2 << endl;
}

C++: #include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (n); i++)
typedef long long ll;
typedef pair<int, int> P;

int main() {
    int f;
    cin >> f;
    cout << (f-30)/2 << endl;

    return 0;
}

C++: #include <bits/stdc++.h>

#define rep(i, n) for (int(i) = 0; (i) < (int)(n); (i)++)
#define repr(i, n) for (int(i) = (n); (i) >= 0; (i)--)
#define repf(i, m, n) for (int(i) = (m); (i) < (n); (i)++)
#define all(x) (x).begin(), (x).end()
#define sz(x) ((int)(x).size())
#define inf 1e9

template <class T>
bool chmax(T &a, const T &b)
{
    if (a < b)
    {
        a = b;
        return 1;
    }
    return 0;
}
template <class T>
bool chmin(T &a, const T &b)
{
    if (b < a)
    {
        a = b;
        return 1;
    }
    return 0;
}

using namespace std;
using ll = long long;

int kakuinowa(int num, int a, int n)
{
    string tmp = to_string(num);
    vector<int> keta(10, 0);

    for (int i = 0; i < tmp.size(); i++)
    {
        keta[i] = tmp[i] - '0';
    }

    ll sum = accumulate(all(keta), 0);

    return pow(sum + a, n);
}

int main(int argc, char const *argv[])
{
    int f;
    cin >> f;
    cout << (f - 30) / 2 << endl;

    return 0;
}

C++: #include <iostream>
using namespace std;
int main(void){
    int F,C;
    cin >>F;
    C=(F-30)/2;
    cout <<C<<endl;
}

C++: #include<iostream>
using namespace std;
int main() {
	int a;
	cin >> a;
	cout << (a - 30) / 2 << endl;
}

C++: #include<stdio.h>
int main(void) {
	int F;
	scanf("%d", &F);
	F = (F - 30) / 2;
	printf("%d\n", F);
	return 0;
}

C++: // Celcius and Fahrenheit 2018/12/28

#include <iostream>
using namespace std;

int main() {
    int F, C;
    cin >> F;
    cout << (F - 30) / 2 << '\n';
    return 0;
}

C++: #include <iostream>
using namespace std;

int main(){
    int a,b;
    cin >> a ;
    b = (a-30)/2;
    cout << b << endl;
    return 0;
}

C++: #include <iostream>
using namespace std;
int main(void){
    int f;
    cin >> f;
    cout << (f-30)/2 << endl;
}

C++: #include<iostream>
using namespace std;

int main(){
  int F=0;
  cin >> F;
  cout << (F-30)/2 << endl;
  return 0;
}

C++: #include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>

#include <iostream>
#include <complex>
#include <string>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <unordered_map>
#include <unordered_set>

#include <functional>
#include <cassert>

typedef long long ll;
using namespace std;

#define debug(x) cerr << __LINE__ << " : " << #x << " = " << (x) << endl;

#define mod 1000000007 //1e9+7(prime number)
#define INF 1000000000 //1e9
#define LLINF 2000000000000000000LL //2e18
#define SIZE 100010


int main(){
  int f;

  cin >> f;

  cout << (f-30) / 2 << endl;
  
  return 0;
}

C++: #include <stdio.h>
#include <iostream>

using namespace std;

int main(void)
{
	int input, output;

	cin >> input;

	output = (input - 30) / 2;

	cout << output << endl;
}

C++: #include <iostream>
using namespace std;
int main(void){
    // Your code here!
    int a;
    cin>>a;
    a-=30;
    cout<<a/2<<endl;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    int F; cin >> F;
    int C = (F -30) / 2;
    
    cout << C << endl;

    return 0;
}

C++: #include<stdio.h>
int main(void)
{
	int a,b,C,F;
	scanf("%d",&F,&a,&b);
	a=30;
	b=2;
	C=(F-a)/b;
	printf("%d\n",C);
	return 0;
}

C++: #include<iostream>
using namespace std;

int main()
{
    int f;

    cin >> f;

    cout << ( f - 30 ) / 2 << endl;

    return 0;
}

C++: #include <iostream>
#include <stdio.h>
#include <cmath>
#include <algorithm>
#include <vector>

#define FOR(i, a, b) for (int i = a; i < b; i++)
#define FORN(i, a, b) for (int i = a; i <= b; i++)
#define P(s) cout << s << endl
#define PC(condition, _true, _false) if (condition) _true; else _false;
#define toInt(_char) _char - '0'

using namespace std;
//
// Created by karayuu on 2018-12-18.
//

int main() {
    int f = 0;
    cin >> f;

    P((f - 30) / 2);
}

C++: #include<iostream>
using namespace std;

int F,C;			//変数の用意

int main(){
cin>>F;		 	//変数の読み込み
C = ( F -30 ) / 2;		//華氏温度（F）を摂氏温度（C）に変換
cout<< C << endl; 	//合計金額が安い方を出力

return 0;
}

C++: #include<iostream>
using namespace std ;

int main(){
    int n ; cin >> n ;
    cout << (n-30)/2 << endl ;
}

C++: #include<bits/stdc++.h>
using namespace std;
int main(void)
{
	int x;
	cin>>x;
	x-=30;
	x/=2;
	cout<<x<<endl;
	return 0;
}

C++: #include<bits/stdc++.h>

using namespace std;
using ll = long long;


int main()
{
    int f; cin >> f;
    cout << (f - 30) / 2 << endl;
}

C++: #include <iostream>
using namespace std;
int main(){
    int a;
    cin>>a;
    a-=30;
    cout<<a / 2<<endl;
    return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;

int main()
{
	int a;cin >> a;printf("%d\n",(a-30)/2);
}

C++: #include <iostream>
using  namespace std;
int main(){

int s;
cin >> s;
cout << (s-30)/2 << endl;

}

C++: #include <bits/stdc++.h>
typedef long long ll;
#define ALL(a) a, a+sizeof(a)/sizeof(a[0])
using namespace std;
ll gcd(ll n, ll m) {
	if (m == 0) return n;
	return gcd(m, n % m);
}

ll lcm(ll n, ll m) {
	return m / gcd(n, m) * n;
}

int main(void) {
	int f;
	cin >> f;
	cout << (f-30)/2 << endl;
	return 0;
}