#include using namespace std; struct edge { int to; // 辺の行き先 int weight; // 辺の重み edge(int t, int w) : to(t), weight(w) { } }; using Graph = vector>; using dou =long double; string Yes="Yes"; string YES="YES"; string NO="NO"; string No="No"; template inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; } template inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; } #define rep(i, n) for(int i = 0; i < (int)(n); i++) #define brep(n) for(int bit=0;bit<(1<= (int)0; i--) #define rrep(i,m,n) for(int i = m; i < (int)(n); i++) #define reprep(i,j,h,w) rep(i,h)rep(j,w) #define all(x) (x).begin(),(x).end() #define aall(x,n) (x).begin(),(x).begin()+(n) #define VEC(type,name,n) std::vector name(n);rep(i,n)std::cin >> name[i]; #define pb push_back #define pf push_front #define lb lower_bound #define ub upper_bound #define res resize #define as assign #define fi first #define se second #define itn int #define mp make_pair #define sum(a) accumulate(all(a),0ll) #define keta fixed< > name(m,vector (n,a)) #define vvvector(name,t,l,m,n,a) vector > > name(l, vector >(m, vector(n,a))); #define vvvvector(name,t,k,l,m,n,a) vector > > > name(k,vector > >(l, vector >(m, vector(n,a)) )); typedef long long ll; //typedef long long T; const int INF = 2000000000; const ll INF64 = 922337203685477580ll; //const int mod = 1000000007ll; const ll MOD = 1000000007LL; itn main(){ dou a,b; std::cin >> a>>b; std::cout << a+b << std::endl; }