Go: package main

import "fmt"

func main() {
	var F int
	fmt.Scan(&F)
	fmt.Println((F - 30)/2)
}

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

	int F, C;
	 
	cin >> F;

	C = (F - 30)/2;

	cout << C << endl;
    
    return 0;
}

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

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

C++: #include<bits/stdc++.h>
using namespace std;
using Int = long long;
//INSERT ABOVE HERE
signed main(){
  Int x;
  cin>>x;
  cout<<(x-30)/2<<endl;
  return 0;
}

C++: #include <iostream>
using namespace std;
int main(void){
    
    //変数：華氏で表された温度「 F 」と置く
    int F;
   
    //入力：華氏で表された温度「 F 」を入力
    cin >> F;
    
    //出力：摂氏を求める
    cout << (F - 30)/2 << endl;
    
    return 0;
}

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

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

int main(){
  int n;
  cin >> n;

  cout << (n - 30) / 2 << endl;
}

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

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


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

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

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

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

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

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

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

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

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

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

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(void){
    int x;
    cin>>x;
    cout<<(x-30)/2<<endl;
    
}

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

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

C++: //#pragma once
#include <stdio.h>
#include <string>
#include <iostream>
#include <queue>
#include <algorithm>
#include <sstream>
#include <vector>
#include <math.h>
#include <set>
#include <map>
#include <numeric>
#include <bitset>
#include <iomanip>
#include <cctype>


using namespace std;
#define modd 1000000007


typedef pair<long long, long long> pl;


typedef string::const_iterator State;
class ParseError {};




#define ll long long




/*
class UnionFind {
public:
	vector <ll> par;
	vector <ll> siz;
	vector <ll> gr;

	// Constructor
	UnionFind(ll sz_) : par(sz_), siz(sz_, 1LL) ,gr(sz_){
		for (ll i = 0; i < sz_; ++i) par[i] = i;
	}
	void init(ll sz_) {
		par.resize(sz_);
		siz.assign(sz_, 1LL);  // resize だとなぜか初期化されなかった
		for (ll i = 0; i < sz_; ++i) par[i] = i; // 初期では親は自分自身
	}

	// Member Function
	// Find
	ll root(ll x) { // 根の検索
		while (par[x] != x) {
			x = par[x] = par[par[x]]; // x の親の親を x の親とする
		}
		return x;
	}

	// Union(Unite, Merge)
	bool merge(ll x, ll y) {
		x = root(x);
		y = root(y);
		if (x == y) return false;

		// merge technique（データ構造をマージするテク．小を大にくっつける）
		if (siz[x] < siz[y]) swap(x, y);
		siz[x] += siz[y];
		par[y] = x;
		return true;
	}



	bool issame(ll x, ll y) { // 連結判定
		return root(x) == root(y);
	}

	ll size(ll x) { // 素集合のサイズ
		return siz[root(x)];
	}


};*/


long long N, M, K, a, b, c, d, e, H, W, L;
ll A[2][100005] = {};
ll B[2][100005] = {};
ll C[200005] = {};
bool f, ff;
string S;
set <long long>sll;
pl bufpl;
vector <long long>vl[3];
vector <pl>vpl;
vector <string> vs;
set<ll> llset;

/*struct ST
{
	long long Kati;
	int bangou;

	bool operator<(const ST& another) const
	{
		return Kati < another.Kati;//比較
	};

};



vector <ST> vst;
ST st[200005];
ST bufst;
bitset<5000> bits;*/


long long modinv(long long aa, long long mm) {
	long long bb = mm, uu = 1, vv = 0;
	while (bb) {
		long long tt = aa / bb;
		aa -= tt * bb; swap(aa, bb);
		uu -= tt * vv; swap(uu, vv);
	}
	uu %= mm;
	if (uu < 0) uu += mm;
	return uu;
}



ll minn, maxx;
double ansa;
bool fl[30] = {};

string ss, sss;

int main() {


	cin >> a;

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

	return 0;

}

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

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

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

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

    return 0;
}

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

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

    return 0;
}

C++: #include <iostream>

using namespace std;

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

C++: #define _USE_MATH_DEFINES
#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <stack>
#include <queue>
#include <vector>
#include <list>
#include <set>
#include <map>
#include <bitset>
#include <utility>
#include <numeric>

using namespace std;

using ll = long long;
using ull = unsigned long long;

const ll inf = (ll)1e9;
const ll mod = (ll)1e9 + 7;

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

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

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

int main(){
    int F;

    cin >> F;

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

    return 0;
}

C++: #include "bits/stdc++.h"
using namespace std;
typedef long long ll;
#define INF (1<<30)
#define INFLL (1ll<<60)
typedef pair<int, int> P;
typedef pair<int, P> E;
#define MOD (1000000007ll)
#define l_ength size

void mul_mod(ll& a, ll b){
	a *= b;
	a %= MOD;
}

void add_mod(ll& a, ll b){
	b += MOD;
	a += b;
	a %= MOD;
}

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

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

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

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