99 100 100 100 100
 57 83 11 4 93
 99 99 99 99 99
 100 0 0 0 0
 0 1 2 3 4
 93 100 99 90 98
 87 38 19 33 100
 1 1 1 1 1
 0 0 0 0 1
 2 3 4 5 6
 1 2 1 2 3
 0 0 0 0 0
 100 100 100 100 100
 43 83 1 0 23
 43 83 1 100 23
 56 0 0 0 4
 99 98 98 99 100

-1
 -1
 99
 20
 2
 96
 -1
 1
 -1
 4
 -1
 -1
 100
 30
 50
 12
 -1


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class InitialBet {
    public static void main(String[] args) {
        FastReader fs = new FastReader();
        StringBuilder sb = new StringBuilder();
        int sum = 0;
        int[] arr = new int[5];
        for(int i = 0; i < 5; i++) {
            arr[i] = fs.nextInt();
            sum += arr[i];
        }
        if(sum % 5 != 0) sb.append(-1);
        else {
           int div = sum / 5;
           int diff = 0;
           for(int a : arr) {
               diff += a - div;
           }
           if(diff != 0 || div <= 0) sb.append(-1);
           else sb.append(div);
        }
        System.out.println(sb);
    }

    public static long div(long a, long b) {
        return (a + b - 1) / b;
    }

    static class FastReader {
        BufferedReader br;
        StringTokenizer st;
        public FastReader() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String next() {
            while(st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                }
                catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

        int nextInt() {
            return Integer.parseInt(next());
        }

        long nextLong() {
            return Long.parseLong(next());
        }

        double nextDouble() {
            return Double.parseDouble(next());
        }

        float nextFloat() {
            return Float.parseFloat(next());
        }
    }
}
