#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n;
  cin >> n;
  map<long long int, long long int> mp;
  map<long long int, long long int>::iterator it;
  for (long long int i = 0; i < n; i++) {
    string s;
    cin >> s;
    long long int x = 0;
    stack<char> st;
    for (long long int i = 0; i < s.size(); i++) {
      if (st.size() == 0)
        st.push(s[i]);
      else if (s[i] == ')' && st.top() == '(')
        st.pop();
      else
        st.push(s[i]);
    }
    if (st.size() == 0)
      mp[0]++;
    else {
      char c = st.top();
      int cnt = st.size();
      int f = 1;
      while (!st.empty()) {
        cnt++;
        if (st.top() != c) {
          f = 0;
          cnt = 0;
          break;
        } else
          st.pop();
      }
      if (f == 1) {
        if (c == ')')
          mp[-1 * cnt]++;
        else
          mp[cnt]++;
      }
    }
  }
  long long int ans = 0;
  for (it = mp.begin(); it != mp.end(); it++) {
    long long int x = it->first;
    long long int x1 = -1 * (it->first);
    if (x <= 0) {
      if (mp.find(x1) != mp.end()) ans = ans + (mp[x] * mp[x1]);
    }
  }
  cout << ans << endl;
}
