import java.io.*;
import java.util.*;
 
public class Main {
 
	void submit() {
	    
	    String s = nextString();
	    
	    int mogu = 0;
	    for(int i=0; i<4; i++){
    	    if(s.charAt(i) == '+'){
    	        mogu++;
    	    }else{
    	        mogu--;
    	    }
	    }
	    out.println(mogu);
	    
	}

	void preCalc() {
 
	}
 
	void stress() {
 
	}
 
	void test() {
 
	}
 
	Main() throws IOException {
		br = new BufferedReader(new InputStreamReader(System.in));
		out = new PrintWriter(System.out);
		preCalc();
		submit();
		//stress();
		//test();
		out.close();
	}
 
	static final Random rng = new Random();
 
	static int rand(int l, int r) {
		return l + rng.nextInt(r - l + 1);
	}
 
	public static void main(String[] args) throws IOException {
		new Main();
	}
 
	BufferedReader br;
	PrintWriter out;
	StringTokenizer st;
 
	String nextToken() {
		while (st == null || !st.hasMoreTokens()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException e) {
				throw new RuntimeException(e);
			}
		}
		return st.nextToken();
	}
 
	String nextString() {
		try {
			return br.readLine();
		} catch (IOException e) {
			throw new RuntimeException(e);
		}
	}
 
	int nextInt() {
		return Integer.parseInt(nextToken());
	}
 
	long nextLong() {
		return Long.parseLong(nextToken());
	}
 
	double nextDouble() {
		return Double.parseDouble(nextToken());
	}
} import java.io.*; io.* java import java.util.*; util.* java public class Main {
 
	void submit() {
	    
	    String s = nextString();
	    
	    int mogu = 0;
	    for(int i=0; i<4; i++){
    	    if(s.charAt(i) == '+'){
    	        mogu++;
    	    }else{
    	        mogu--;
    	    }
	    }
	    out.println(mogu);
	    
	}

	void preCalc() {
 
	}
 
	void stress() {
 
	}
 
	void test() {
 
	}
 
	Main() throws IOException {
		br = new BufferedReader(new InputStreamReader(System.in));
		out = new PrintWriter(System.out);
		preCalc();
		submit();
		//stress();
		//test();
		out.close();
	}
 
	static final Random rng = new Random();
 
	static int rand(int l, int r) {
		return l + rng.nextInt(r - l + 1);
	}
 
	public static void main(String[] args) throws IOException {
		new Main();
	}
 
	BufferedReader br;
	PrintWriter out;
	StringTokenizer st;
 
	String nextToken() {
		while (st == null || !st.hasMoreTokens()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException e) {
				throw new RuntimeException(e);
			}
		}
		return st.nextToken();
	}
 
	String nextString() {
		try {
			return br.readLine();
		} catch (IOException e) {
			throw new RuntimeException(e);
		}
	}
 
	int nextInt() {
		return Integer.parseInt(nextToken());
	}
 
	long nextLong() {
		return Long.parseLong(nextToken());
	}
 
	double nextDouble() {
		return Double.parseDouble(nextToken());
	}
} Main static final Random rng = new Random(); rng new Random() BufferedReader br; br PrintWriter out; out StringTokenizer st; st void submit() {
	    
	    String s = nextString();
	    
	    int mogu = 0;
	    for(int i=0; i<4; i++){
    	    if(s.charAt(i) == '+'){
    	        mogu++;
    	    }else{
    	        mogu--;
    	    }
	    }
	    out.println(mogu);
	    
	} submit {
	    
	    String s = nextString();
	    
	    int mogu = 0;
	    for(int i=0; i<4; i++){
    	    if(s.charAt(i) == '+'){
    	        mogu++;
    	    }else{
    	        mogu--;
    	    }
	    }
	    out.println(mogu);
	    
	} String s = nextString(); s nextString() nextString int mogu = 0; mogu 0 for(int i=0; i<4; i++){
    	    if(s.charAt(i) == '+'){
    	        mogu++;
    	    }else{
    	        mogu--;
    	    }
	    } int i=0; int i=0; i 0 i<4 i 4 i++ i++ i {
    	    if(s.charAt(i) == '+'){
    	        mogu++;
    	    }else{
    	        mogu--;
    	    }
	    } {
    	    if(s.charAt(i) == '+'){
    	        mogu++;
    	    }else{
    	        mogu--;
    	    }
	    } if(s.charAt(i) == '+'){
    	        mogu++;
    	    }else{
    	        mogu--;
    	    } s.charAt(i) == '+' s.charAt(i) s.charAt s i '+' {
    	        mogu++;
    	    } mogu++ mogu {
    	        mogu--;
    	    } mogu-- mogu out.println(mogu) out.println out mogu void preCalc() {
 
	} preCalc {
 
	} void stress() {
 
	} stress {
 
	} void test() {
 
	} test {
 
	} Main() throws IOException {
		br = new BufferedReader(new InputStreamReader(System.in));
		out = new PrintWriter(System.out);
		preCalc();
		submit();
		//stress();
		//test();
		out.close();
	} Main {
		br = new BufferedReader(new InputStreamReader(System.in));
		out = new PrintWriter(System.out);
		preCalc();
		submit();
		//stress();
		//test();
		out.close();
	} br = new BufferedReader(new InputStreamReader(System.in)) br new BufferedReader(new InputStreamReader(System.in)) out = new PrintWriter(System.out) out new PrintWriter(System.out) preCalc() preCalc submit() submit out.close() out.close out static int rand(int l, int r) {
		return l + rng.nextInt(r - l + 1);
	} rand {
		return l + rng.nextInt(r - l + 1);
	} return l + rng.nextInt(r - l + 1); l + rng.nextInt(r - l + 1) l rng.nextInt(r - l + 1) rng.nextInt rng r - l + 1 r - l r l 1 int l l int r r public static void main(String[] args) throws IOException {
		new Main();
	} main {
		new Main();
	} new Main() String[] args args String nextToken() {
		while (st == null || !st.hasMoreTokens()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException e) {
				throw new RuntimeException(e);
			}
		}
		return st.nextToken();
	} nextToken {
		while (st == null || !st.hasMoreTokens()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException e) {
				throw new RuntimeException(e);
			}
		}
		return st.nextToken();
	} while (st == null || !st.hasMoreTokens()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException e) {
				throw new RuntimeException(e);
			}
		} st == null || !st.hasMoreTokens() st == null st null !st.hasMoreTokens() st.hasMoreTokens() st.hasMoreTokens st {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException e) {
				throw new RuntimeException(e);
			}
		} try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException e) {
				throw new RuntimeException(e);
			} catch (IOException e) {
				throw new RuntimeException(e);
			} IOException e {
				throw new RuntimeException(e);
			} throw new RuntimeException(e); new RuntimeException(e) {
				st = new StringTokenizer(br.readLine());
			} st = new StringTokenizer(br.readLine()) st new StringTokenizer(br.readLine()) return st.nextToken(); st.nextToken() st.nextToken st String nextString() {
		try {
			return br.readLine();
		} catch (IOException e) {
			throw new RuntimeException(e);
		}
	} nextString {
		try {
			return br.readLine();
		} catch (IOException e) {
			throw new RuntimeException(e);
		}
	} try {
			return br.readLine();
		} catch (IOException e) {
			throw new RuntimeException(e);
		} catch (IOException e) {
			throw new RuntimeException(e);
		} IOException e {
			throw new RuntimeException(e);
		} throw new RuntimeException(e); new RuntimeException(e) {
			return br.readLine();
		} return br.readLine(); br.readLine() br.readLine br int nextInt() {
		return Integer.parseInt(nextToken());
	} nextInt {
		return Integer.parseInt(nextToken());
	} return Integer.parseInt(nextToken()); Integer.parseInt(nextToken()) Integer.parseInt Integer nextToken() nextToken long nextLong() {
		return Long.parseLong(nextToken());
	} nextLong {
		return Long.parseLong(nextToken());
	} return Long.parseLong(nextToken()); Long.parseLong(nextToken()) Long.parseLong Long nextToken() nextToken double nextDouble() {
		return Double.parseDouble(nextToken());
	} nextDouble {
		return Double.parseDouble(nextToken());
	} return Double.parseDouble(nextToken()); Double.parseDouble(nextToken()) Double.parseDouble Double nextToken() nextToken public class Main {
 
	void submit() {
	    
	    String s = nextString();
	    
	    int mogu = 0;
	    for(int i=0; i<4; i++){
    	    if(s.charAt(i) == '+'){
    	        mogu++;
    	    }else{
    	        mogu--;
    	    }
	    }
	    out.println(mogu);
	    
	}

	void preCalc() {
 
	}
 
	void stress() {
 
	}
 
	void test() {
 
	}
 
	Main() throws IOException {
		br = new BufferedReader(new InputStreamReader(System.in));
		out = new PrintWriter(System.out);
		preCalc();
		submit();
		//stress();
		//test();
		out.close();
	}
 
	static final Random rng = new Random();
 
	static int rand(int l, int r) {
		return l + rng.nextInt(r - l + 1);
	}
 
	public static void main(String[] args) throws IOException {
		new Main();
	}
 
	BufferedReader br;
	PrintWriter out;
	StringTokenizer st;
 
	String nextToken() {
		while (st == null || !st.hasMoreTokens()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException e) {
				throw new RuntimeException(e);
			}
		}
		return st.nextToken();
	}
 
	String nextString() {
		try {
			return br.readLine();
		} catch (IOException e) {
			throw new RuntimeException(e);
		}
	}
 
	int nextInt() {
		return Integer.parseInt(nextToken());
	}
 
	long nextLong() {
		return Long.parseLong(nextToken());
	}
 
	double nextDouble() {
		return Double.parseDouble(nextToken());
	}
} public class Main {
 
	void submit() {
	    
	    String s = nextString();
	    
	    int mogu = 0;
	    for(int i=0; i<4; i++){
    	    if(s.charAt(i) == '+'){
    	        mogu++;
    	    }else{
    	        mogu--;
    	    }
	    }
	    out.println(mogu);
	    
	}

	void preCalc() {
 
	}
 
	void stress() {
 
	}
 
	void test() {
 
	}
 
	Main() throws IOException {
		br = new BufferedReader(new InputStreamReader(System.in));
		out = new PrintWriter(System.out);
		preCalc();
		submit();
		//stress();
		//test();
		out.close();
	}
 
	static final Random rng = new Random();
 
	static int rand(int l, int r) {
		return l + rng.nextInt(r - l + 1);
	}
 
	public static void main(String[] args) throws IOException {
		new Main();
	}
 
	BufferedReader br;
	PrintWriter out;
	StringTokenizer st;
 
	String nextToken() {
		while (st == null || !st.hasMoreTokens()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException e) {
				throw new RuntimeException(e);
			}
		}
		return st.nextToken();
	}
 
	String nextString() {
		try {
			return br.readLine();
		} catch (IOException e) {
			throw new RuntimeException(e);
		}
	}
 
	int nextInt() {
		return Integer.parseInt(nextToken());
	}
 
	long nextLong() {
		return Long.parseLong(nextToken());
	}
 
	double nextDouble() {
		return Double.parseDouble(nextToken());
	}
} Main
import java.io.*;
import java.util.*;
 
public class Main {
 
	void submit() {
	    
	    String s = nextString();
	    
	    int mogu = 0;
	    for(int i=0; i<4; i++){
    	    if(s.charAt(i) == '+'){
    	        mogu++;
    	    }else{
    	        mogu--;
    	    }
	    }
	    out.println(mogu);
	    
	}

	void preCalc() {
 
	}
 
	void stress() {
 
	}
 
	void test() {
 
	}
 
	Main() throws IOException {
		br = new BufferedReader(new InputStreamReader(System.in));
		out = new PrintWriter(System.out);
		preCalc();
		submit();
		//stress();
		//test();
		out.close();
	}
 
	static final Random rng = new Random();
 
	static int rand(int l, int r) {
		return l + rng.nextInt(r - l + 1);
	}
 
	public static void main(String[] args) throws IOException {
		new Main();
	}
 
	BufferedReader br;
	PrintWriter out;
	StringTokenizer st;
 
	String nextToken() {
		while (st == null || !st.hasMoreTokens()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException e) {
				throw new RuntimeException(e);
			}
		}
		return st.nextToken();
	}
 
	String nextString() {
		try {
			return br.readLine();
		} catch (IOException e) {
			throw new RuntimeException(e);
		}
	}
 
	int nextInt() {
		return Integer.parseInt(nextToken());
	}
 
	long nextLong() {
		return Long.parseLong(nextToken());
	}
 
	double nextDouble() {
		return Double.parseDouble(nextToken());
	}
}