#include <bits/stdc++.h>
using namespace std;
const double PI = 2.0 * acos(0.0);
const double eps = 1e-11;
const int _mod = 1000000;
const int save[10][4] = {{0}, {0}, {6, 2, 4, 8}, {1, 3, 9, 7}, {6, 4},
                         {0}, {0}, {1, 7, 9, 3}, {6, 8, 4, 2}, {1, 9}};
int todigit(char c) { return (isdigit(c)) ? (c - 48) : c; }
int toint(string s) {
  int r = 0;
  istringstream sin(s);
  sin >> r;
  return r;
}
long long tolong(string s) {
  long long r = 0;
  istringstream sin(s);
  sin >> r;
  return r;
}
double todouble(string s) {
  double r = 0.0;
  istringstream sin(s);
  sin >> r;
  return r;
}
template <class T>
string toString(T n) {
  ostringstream ost;
  ost << n;
  ost.flush();
  return ost.str();
}
template <class T>
T Abs(T x) {
  return x > 0 ? x : -x;
}
template <class T>
T power(T N, T P) {
  return (P == 0) ? 1 : N * power(N, P - 1);
}
template <class T>
void max(T &a, T b) {
  if (a < b) a = b;
}
template <class T>
void min(T &a, T b) {
  if (b < a) a = b;
}
template <class T>
inline T gcd(T a, T b) {
  if (a < 0) return gcd(-a, b);
  if (b < 0) return gcd(a, -b);
  return (b == 0) ? a : gcd(b, a % b);
}
template <class T>
inline T lcm(T a, T b) {
  if (a < 0) return lcm(-a, b);
  if (b < 0) return lcm(a, -b);
  return a * (b / gcd(a, b));
}
int main() {
  string str;
  int t, sum = 0;
  scanf("%d", &t);
  while (t--) {
    cin >> str;
    if (str == "++X" || str == "X++")
      ++sum;
    else
      --sum;
  }
  printf("%d", sum);
  return 0;
}

### Prompt

Generate a Cpp solution to the following problem:

The classic programming language of Bitland is Bit++. This language is so peculiar and complicated.

The language is that peculiar as it has exactly one variable, called x. Also, there are two operations:

  * Operation ++ increases the value of variable x by 1. 
  * Operation -- decreases the value of variable x by 1. 



A statement in language Bit++ is a sequence, consisting of exactly one operation and one variable x. The statement is written without spaces, that is, it can only contain characters "+", "-", "X". Executing a statement means applying the operation it contains.

A programme in Bit++ is a sequence of statements, each of them needs to be executed. Executing a programme means executing all the statements it contains.

You're given a programme in language Bit++. The initial value of x is 0. Execute the programme and find its final value (the value of the variable when this programme is executed).

Input

The first line contains a single integer n (1 ≤ n ≤ 150) — the number of statements in the programme.

Next n lines contain a statement each. Each statement contains exactly one operation (++ or --) and exactly one variable x (denoted as letter «X»). Thus, there are no empty statements. The operation and the variable can be written in any order.

Output

Print a single integer — the final value of x.

Examples

Input

1
++X


Output

1


Input

2
X++
--X


Output

0

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
const double PI = 2.0 * acos(0.0);
const double eps = 1e-11;
const int _mod = 1000000;
const int save[10][4] = {{0}, {0}, {6, 2, 4, 8}, {1, 3, 9, 7}, {6, 4},
                         {0}, {0}, {1, 7, 9, 3}, {6, 8, 4, 2}, {1, 9}};
int todigit(char c) { return (isdigit(c)) ? (c - 48) : c; }
int toint(string s) {
  int r = 0;
  istringstream sin(s);
  sin >> r;
  return r;
}
long long tolong(string s) {
  long long r = 0;
  istringstream sin(s);
  sin >> r;
  return r;
}
double todouble(string s) {
  double r = 0.0;
  istringstream sin(s);
  sin >> r;
  return r;
}
template <class T>
string toString(T n) {
  ostringstream ost;
  ost << n;
  ost.flush();
  return ost.str();
}
template <class T>
T Abs(T x) {
  return x > 0 ? x : -x;
}
template <class T>
T power(T N, T P) {
  return (P == 0) ? 1 : N * power(N, P - 1);
}
template <class T>
void max(T &a, T b) {
  if (a < b) a = b;
}
template <class T>
void min(T &a, T b) {
  if (b < a) a = b;
}
template <class T>
inline T gcd(T a, T b) {
  if (a < 0) return gcd(-a, b);
  if (b < 0) return gcd(a, -b);
  return (b == 0) ? a : gcd(b, a % b);
}
template <class T>
inline T lcm(T a, T b) {
  if (a < 0) return lcm(-a, b);
  if (b < 0) return lcm(a, -b);
  return a * (b / gcd(a, b));
}
int main() {
  string str;
  int t, sum = 0;
  scanf("%d", &t);
  while (t--) {
    cin >> str;
    if (str == "++X" || str == "X++")
      ++sum;
    else
      --sum;
  }
  printf("%d", sum);
  return 0;
}

```