Go: package main

import "fmt"

func main() {
	var num1, num2 int
	fmt.Scan(&num1, &num2)

	fmt.Println((num1 + num2) / 2)
}

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

C++: #include<iostream>;

using namespace std;

int main()
{
	int a, b,sum;
	a = 0;
	b = 0;
	sum = 0;
	cin >> a >> b;
	sum = a + b;
	cout << sum/2;
	return 0;
}

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

using namespace std;

int main(){
	int a, b;
	cin >> a >> b;
	cout << (a+b)/2;
}

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

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

int main()
{
	int a = 1000 <=  50000;
	int b = 1000 <=  50000;
	cin >> a;
	cin >> b;

	int ans = (a + b) / 2;
	cout << ans << endl;
}

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

C++: #include<bits/stdc++.h>
#include<vector>
#define V vector
#define VI vector<int>
#define VVI vector<vector<int>>
#define M 1000000007

using namespace std;

int main(void){
  int a,b;
  cin>>a>>b;
  cout<<(int)(a+b)/2<<endl;
}

C++: #include <bits/stdc++.h>
using namespace std;
int main(void){
    int a, b;
	cin >> a >> b;
	cout << (a + b) / 2 << "\n";
    
}

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

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

C++: #include <stdio.h>

int main(void){
	
	int a,b,ans;

	scanf("%d %d",&a,&b);
	
	ans=a+b/2;

	printf("%d\n",ans);

	return 0;
}

C++: #include
using namespace std;

main(){
  int a, b;
  cin >> a >> b;
  cout << (a+b)/2 << endl;
}

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

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

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

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

C++: #include <bits/stdc++.h>
using namespace std;
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define rep(i,n) FOR(i,0,n)
#define repr(i,n) for(int i=(n)-1;0<=i;--i)
#define each(e,v) for(auto&& e:(v))
#define all(v) begin(v),end(v)
#define dump(x) cerr<<#x<<": "<<(x)<<endl
#define INF 100000000
#define IINF 9999999999999;
using vint = vector<int>;
using ll = long long;
using vll = vector<ll>;
template <class T> void chmin(T& a, const T& b) { a = min(a, b); }
template <class T> void chmax(T& a, const T& b) { a = max(a, b); }

// 1

int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);

    int A, B;
    cin >> A >> B;
    cout << (A + B) / 2 << endl;
}

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

using namespace std;

int main()
{
  int a, b;
  cin >> a >> b;
  
  int c; 
c =  (a + b) / 2;
  cout << c;

  return 0;
}

C++: #include<iostream>
#include<vector>
#include<algorithm>
#include<cctype>
#include<utility>
#include<string>
#include<cmath>
#include<cstring>
#include<queue>
#include<map>
#include<set>
#include<climits>

#define REP(i, n) for(int i = 0;i < n;i++)
#define REPR(i, n) for(int i = n;i >= 0;i--)
#define FOR(i, m, n) for(int i = m;i < n;i++)
#define FORR(i, m, n) for(int i = m;i >= n;i--)
#define SORT(v, n) sort(v, v+n);
#define VSORT(v) sort(v.begin(), v.end());
#define llong long long
#define pb(a) push_back(a)

using namespace std;

typedef long long int ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;


template<typename T>
vector<T> make_v(size_t a) { return vector<T>(a); }
template<typename T, typename... Ts>
auto make_v(size_t a, Ts... ts) {
	return vector<decltype(make_v<T>(ts...))>(a, make_v<T>(ts...));
}
template<typename T, typename V>
typename enable_if<is_class<T>::value == 0>::type
fill_v(T& t, const V& v) { t = v; }
template<typename T, typename V>
typename enable_if<is_class<T>::value != 0>::type
fill_v(T& t, const V& v) {
	for (auto& e : t) fill_v(e, v);
}


#define ARRAY_MAX 100005
const int INF = INT32_MAX / 3;
const ll MOD = 1e9 + 7;

int dx[4] = { 1,0,0,-1 };
int dy[4] = { 0,1,-1,0 };


/******************************************************************************************/


int main() {

	int a, b;
	cin >> a >> b;
	cout << (a + b) / 2 << endl;


	return 0;
}

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

int main(){
	int a, b;
	cin >> a >> b;
	cout << (a + b) / 2 << endl;

	return 0;
}

C++: #include <bits/stdc++.h>
#include <typeinfo>
#include <cxxabi.h>
#ifdef LOCAL
  #include "dbgtoki.hpp"
  #define DUMP(i) DEB dump((string)TOSTRING(i), demangle(typeid(i).name()), __LINE__ , i)  
#else
  #define DUMP(i)  
#endif

#define GETTYPE(i) 
#define TOSTRING(x) #x
#define REP(i,n) for(int i=0;i<(n);i++)
#define FOR(i,a,b) for(int i=(a):i<(b);i++)
#define SSTR( x ) static_cast< std::ostringstream & >( \
        ( std::ostringstream() << std::dec << x ) ).str()
#define ALL(s) (s).begin(), (s).end()
#define UNIQUE(v) v.erase( unique(v.begin(), v.end()) , v.end());
using namespace std;
typedef long long unsigned int llu;
typedef long long ll;

int main (){
  cin.tie(0);
  ios::sync_with_stdio(false);
  int a,b;
  while(cin >> a >> b){
    cout << (a + b)/2 << endl;
  }
  return 0;
}

C++: // #define _GLIBCXX_DEBUG // for STL debug (optional)
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <string>
#include <cstring>
#include <deque>
#include <list>
#include <queue>
#include <stack>
#include <vector>
#include <utility>
#include <algorithm>
#include <map>
#include <set>
#include <complex>
#include <cmath>
#include <limits>
#include <cfloat>
#include <climits>
#include <ctime>
#include <cassert>
#include <numeric>
#include <fstream>
#include <functional>
#include <bitset>
using namespace std;
using ll = long long int;
using int64 = long long int;
 
template<typename T> void chmax(T &a, T b) {a = max(a, b);}
template<typename T> void chmin(T &a, T b) {a = min(a, b);}
template<typename T> void chadd(T &a, T b) {a = a + b;}
 
int dx[] = {0, 0, 1, -1};
int dy[] = {1, -1, 0, 0};
const int INF = 1LL << 29;
const ll LONGINF = 1LL << 60;
const ll MOD = 1000000007LL;
 
int main() {
    int a, b; cin >> a >> b;
    cout << (a + b) / 2 << endl;
    return 0;
}

C++: #include<cstdio>
int main()
{
	int a,b;
	scanf("%d %d",&a,&b);
	printf("%d\n",(a+b)/2);
	return 0;
}

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

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

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

int main(){
    int a,b;
    cin >> a >> b;
    cout << (a+b)/2 << endl;
}

C++: #include <bits/stdc++.h>
using namespace std;
template <class T>
inline bool chmax(T &a, T b)
{
    if (a < b)
    {
        a = b;
        return 1;
    }
    return 0;
}
template <class T>
inline bool chmin(T &a, T b)
{
    if (a > b)
    {
        a = b;
        return 1;
    }
    return 0;
}
typedef long long int ll;

#define ALL(v) (v).begin(), (v).end()
#define RALL(v) (v).rbegin(), (v).rend()
#define endl "\n"
const double EPS = 1e-7;
const int INF = 1 << 30;
const ll LLINF = 1LL << 60;
const double PI = acos(-1);
const int MOD = 1000000007;
const int dx[4] = {1, 0, -1, 0};
const int dy[4] = {0, 1, 0, -1};

//-------------------------------------

int main()
{
    cin.tie(0);
    ios::sync_with_stdio(false);
    int a,b;
    cin>>a>>b;
    cout<<(a+b)/2<<endl;
}

C++: //英雄(笑)装備
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<string.h>
#include<vector>
#include<stdio.h>
using namespace std;
int main() {
	int a, b, c;
	scanf("%d%d", &a, &b);
	c = a + b ;
	c = c / 2;
	printf("%d\n", c);
	return 0;
}

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



int main(){
  int a,b;
  cin >> a >> b;
  cout << (a + b) / 2 << endl;


  return 0;
}

C++: a, b = map(int, input().split())
print((a + b)//2)