import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;

public class Main {
	public static void main(String[] args) throws IOException {
		InputReader sc=new InputReader(System.in);
		PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
		char[] a=sc.next().toCharArray();
		char[] b=sc.next().toCharArray();
		int cnt=0;
		int ans=0;
		int sum=0;
		for(int i=0;i<b.length;i++)
			cnt^=b[i]-'0';
		for(int i=0;i<b.length;i++)
			sum^=a[i]-'0';
		if((sum^cnt)==0)
			ans++;
		for(int i=b.length;i<a.length;i++) {
			if(a[i-b.length]=='1')
				sum^=1;
			if(a[i]=='1')
				sum^=1;
			if((sum^cnt)==0)
				ans++;
		}
		out.println(ans);
		out.flush();
	}
}

class InputReader {
    private InputStreamReader reader;
    private char[] buf;
    private int len, now;

    public InputReader(InputStream stream) {
        reader = new InputStreamReader(stream);
        buf = new char[1024];
        len = 0;
        now = 0;
    }

    public String next() throws IOException {
        if (!hasNext()) throw new NullPointerException();
        StringBuilder sb = new StringBuilder();
        while (!isSpaceChar(buf[now])) {
            sb.append(buf[now]);
            if (!move()) break;
        }
        return sb.toString();
    }

    public int nextInt() throws IOException {
        if (!hasNext()) throw new NullPointerException();
        boolean x = false;
        if (buf[now] == '-') {
            x = true;
            if (!move()) throw new NumberFormatException();
        }
        int ans = 0;
        while (!isSpaceChar(buf[now])) {
            if (isNum(buf[now])) ans = ans * 10 + buf[now] - '0';
            else throw new NumberFormatException();
            if (!move()) break;
        }
        return (x ? -1 : 1) * ans;
    }

    public String nextLine() throws IOException {
        if (!hasNextLine()) throw new NullPointerException();
        StringBuilder sb = new StringBuilder();
        while (buf[now] != '\n') {
            sb.append(buf[now]);
            if (!move()) return sb.toString();
        }
        now++;
        return sb.toString();
    }

    public long nextLong() throws IOException {
        if (!hasNext()) throw new NullPointerException();
        boolean x = false;
        if (buf[now] == '-') {
            x = true;
            if (!move()) throw new NumberFormatException();
        }
        long ans = 0;
        while (!isSpaceChar(buf[now])) {
            if (isNum(buf[now])) ans = ans * 10 + buf[now] - '0';
            else throw new NumberFormatException();
            if (!move()) break;
        }
        return (x ? -1 : 1) * ans;
    }

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

    public int nextHexInt() throws IOException {
        if (!hasNext()) throw new NullPointerException();
        boolean x = false;
        if (buf[now] == '-') {
            x = true;
            if (!move()) throw new NumberFormatException();
        }
        int ans = 0;
        while (!isSpaceChar(buf[now])) {
            if (isHex(buf[now])) ans = ans * 16 + toHex(buf[now]);
            else throw new NumberFormatException();
            if (!move()) break;
        }
        return (x ? -1 : 1) * ans;
    }

    public char nextChar() throws IOException {
        if (!hasNext()) throw new NullPointerException();
        char tmp = buf[now];
        move();
        return tmp;
    }
    public int next(char[] s) throws IOException {
        if (!hasNext()) throw new NullPointerException();
        int len=0;
        while (!isSpaceChar(buf[now])&&len<s.length) {
            s[len++]=buf[now];
            if (!move()) break;
        }
        return len;
    }
    public boolean hasNext() throws IOException {
        return skip();
    }

    public boolean hasNextLine() throws IOException {
        return now < len || refill();
    }

    private boolean move() throws IOException {
        now++;
        return hasNextLine();
    }

    private boolean skip() throws IOException {
        if (!hasNextLine()) return false;
        while (isSpaceChar(buf[now])) {
            if (!move()) return false;
        }
        return true;
    }

    private boolean isSpaceChar(char c) {
        return !(c >= 33 && c <= 126);
    }

    private boolean isNum(char c) {
        return c >= '0' && c <= '9';
    }

    private boolean isHex(char c) {
        return c >= '0' && c <= '9' || c >= 'A' && c <= 'F';
    }

    private int toHex(char c) {
        if (c >= '0' && c <= '9') return c - '0';
        else return c - 'A' + 10;
    }

    private boolean refill() throws IOException {
        len = reader.read(buf);
        now = 0;
        return len > 0;
    }
}


import java.io.*;
import java.util.*;

public class CF1186C extends PrintWriter {
	CF1186C() { super(System.out, true); }
	Scanner sc = new Scanner(System.in);
	public static void main(String[] $) {
		CF1186C o = new CF1186C(); o.main(); o.flush();
	}

	void main() {
		byte[] aa = sc.next().getBytes();
		byte[] bb = sc.next().getBytes();
		int n = aa.length, m = bb.length;
		int x = 0;
		for (int j = 0; j < m; j++)
			x ^= bb[j] - '0';
		int ans = 0;
		for (int i = 0; i < n; i++) {
			x ^= aa[i] - '0';
			if (i >= m - 1) {
				if (x == 0)
					ans++;
				x ^= aa[i - m + 1] - '0';
			}
		}
		println(ans);
	}
}


import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.BufferedWriter;
import java.io.Writer;
import java.io.OutputStreamWriter;
import java.util.InputMismatchException;
import java.io.IOException;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 *
 * @author cunbidun
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        InputReader in = new InputReader(inputStream);
        OutputWriter out = new OutputWriter(outputStream);
        CVusTheCossackAndStrings solver = new CVusTheCossackAndStrings();
        solver.solve(1, in, out);
        out.close();
    }

    static class CVusTheCossackAndStrings {
        private InputReader in;
        private OutputWriter out;

        public void solve(int testNumber, InputReader in, OutputWriter out) {
            this.in = in;
            this.out = out;
            String a = in.nextString();
            String b = in.nextString();
            int cnt = StringUtils.count(b, '1');
            int[] s = new int[a.length() + 1];
            for (int i = 1; i <= a.length(); i++) {
                s[i] = s[i - 1];
                if (a.charAt(i - 1) == '1') s[i]++;
            }
            int ans = 0;
            for (int i = b.length(); i <= a.length(); i++) {
                if ((s[i] - s[i - b.length()] + cnt) % 2 == 0) {
                    ans++;
                }
            }
            out.println(ans);
        }

    }

    static class InputReader extends InputStream {
        private InputStream stream;
        private byte[] buf = new byte[1 << 16];
        private int curChar;
        private int numChars;

        public InputReader(InputStream stream) {
            this.stream = stream;
        }

        public int read() {
            if (numChars == -1) {
                throw new InputMismatchException();
            }
            if (curChar >= numChars) {
                curChar = 0;
                try {
                    numChars = stream.read(buf);
                } catch (IOException e) {
                    throw new InputMismatchException();
                }
                if (numChars <= 0) {
                    return -1;
                }
            }
            return buf[curChar++];
        }

        public String nextString() {
            int c;
            while (isSpaceChar(c = read())) ;
            StringBuilder result = new StringBuilder();
            result.appendCodePoint(c);
            while (!isSpaceChar(c = read()))
                result.appendCodePoint(c);
            return result.toString();
        }

        private static boolean isSpaceChar(int c) {
            return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
        }

    }

    static class OutputWriter {
        private final PrintWriter out;

        public OutputWriter(OutputStream outputStream) {
            out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(outputStream)));
        }

        public OutputWriter(Writer writer) {
            this.out = new PrintWriter(writer);
        }

        public void close() {
            out.close();
        }

        public void println(int i) {
            out.println(i);
        }

    }

    static class StringUtils {
        public static int count(String S, int stIndex, int enIndex, char c) {
            int cnt = 0;
            for (int i = stIndex; i <= enIndex; i++) {
                if (S.charAt(i) == c) cnt++;
            }
            return cnt;
        }

        public static int count(String S, char c) {
            return count(S, 0, S.length() - 1, c);
        }

    }
}


import java.util.*;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();

        int bLen = b.length();
        int ans = 0;
        for(int i=0;i<a.length()-bLen+1;i++){
            if(findDiffChar(a.substring(i,i+bLen),b)%2==0) ans++;
        }
        System.out.println(ans);
    }

    private static int findDiffChar(String a, String b) {
        int ans = 0;
        for(int i=0;i<a.length();i++){
            if(a.charAt(i)!=b.charAt(i)){
                ans++;
            }
        }
        return ans;
    }
}


import java.util.*;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();
        int n = b.replace("0","").length();
        int m = a.substring(0,b.length()).replace("0","").length();

        int ans=  0;

        if((n-m)%2==0){
            ans++;
        }
        for(int i=0;i<a.length()-b.length();i++){
            m = a.charAt(i+b.length()) - a.charAt(i);
            if((n-m)%2==0) ans++;
        }
        System.out.println(ans);
    }
}


import java.util.*;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();
        int bLen = b.length();
        int ans = 0;
        StringBuilder sba = new StringBuilder();
        StringBuilder sbb = new StringBuilder();

        for(int i=0;i<bLen;i++){
            sba.append(a.charAt(i));
            sbb.append(b.charAt(i));
        }

        if(findDiffChar(sba,sbb)%2==0) ans++;
        for(int i=bLen;i<a.length();i++){
            sba.deleteCharAt(0);
            sba.append(a.charAt(i));
            if(findDiffChar(sba,sbb)%2==0) ans++;
        }
        System.out.println(ans);
    }

    private static int findDiffChar(StringBuilder a, StringBuilder b) {
        int ans = 0;
        for(int i=0;i<a.length();i++){
            if(a.charAt(i)!=b.charAt(i)){
                ans++;
            }
        }
        return ans;
    }
}


import java.util.*;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();
        int n = b.replace("0","").length();
        int m = a.substring(0,b.length()).replace("0","").length();

        int ans=  0;

        if((n-m)%2==0){
            ans++;
        }
        for(int i=0;i<a.length()-b.length();i++){
            m += a.charAt(i+b.length()) - a.charAt(i);
            if((n-m)%2==0) ans++;
        }
        System.out.println(ans);
    }
}


import java.util.*;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();
        int n = b.replace("0","").length();
        int m = a.substring(0,b.length()).replace("0","").length();

        int ans=  0;

        if((n-m)%2==0){
            ans++;
        }
        for(int i=0;i<a.length()-b.length();i++){
            m += a.charAt(i+b.length()) - a.charAt(i);
            System.out.println(m);
            if((n-m)%2==0) ans++;
        }
        System.out.println(ans);
    }
}


import java.io.*;
import java.util.*;

public class A {

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner();
		PrintWriter out = new PrintWriter(System.out);
		char[]a=sc.next().toCharArray();
		char []b=sc.next().toCharArray();
		int diff=0;
		for(int i=0;i+1<b.length;i++)
			if(b[i]!=b[i+1])
				diff++;
		int m=b.length;
		int curr=0;
		for(int i=0;i<m;i++)
			if(a[i]!=b[i])
				curr++;
		int ans=0;
		if(curr%2==0)
			ans++;
		for(int r=m;r<a.length;r++) {
			if(a[r]!=b[m-1])
				curr++;
			if(a[r-m]!=b[0])
				curr++;
			curr+=diff;
			if(curr%2==0)
				ans++;
		}
		out.println(ans);
		out.close();

	}

	static class Scanner {
		BufferedReader br;
		StringTokenizer st;

		Scanner() {
			br = new BufferedReader(new InputStreamReader(System.in));
		}

		Scanner(String fileName) throws FileNotFoundException {
			br = new BufferedReader(new FileReader(fileName));
		}

		String next() throws IOException {
			while (st == null || !st.hasMoreTokens())
				st = new StringTokenizer(br.readLine());
			return st.nextToken();
		}

		String nextLine() throws IOException {
			return br.readLine();
		}

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

		long nextLong() throws NumberFormatException, IOException {
			return Long.parseLong(next());
		}

		double nextDouble() throws NumberFormatException, IOException {
			return Double.parseDouble(next());
		}

		boolean ready() throws IOException {
			return br.ready();
		}

	}

}


import java.io.*;
import java.util.*;
import java.math.*;
import java.lang.*;

import static java.lang.Math.*;

public class Main implements Runnable {
    static class InputReader {
        private InputStream stream;
        private byte[] buf = new byte[1024];
        private int curChar;
        private int numChars;
        private SpaceCharFilter filter;
        private BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        public InputReader(InputStream stream) {
            this.stream = stream;
        }

        public int read() {
            if (numChars==-1)
                throw new InputMismatchException();

            if (curChar >= numChars) {
                curChar = 0;
                try {
                    numChars = stream.read(buf);
                }
                catch (IOException e) {
                    throw new InputMismatchException();
                }

                if(numChars <= 0)
                    return -1;
            }
            return buf[curChar++];
        }

        public String nextLine() {
            String str = "";
            try {
                str = br.readLine();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
            return str;
        }
        public int nextInt() {
            int c = read();

            while(isSpaceChar(c))
                c = read();

            int sgn = 1;

            if (c == '-') {
                sgn = -1;
                c = read();
            }

            int res = 0;
            do {
                if(c<'0'||c>'9')
                    throw new InputMismatchException();
                res *= 10;
                res += c - '0';
                c = read();
            }
            while (!isSpaceChar(c));

            return res * sgn;
        }

        public long nextLong() {
            int c = read();
            while (isSpaceChar(c))
                c = read();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = read();
            }
            long res = 0;

            do {
                if (c < '0' || c > '9')
                    throw new InputMismatchException();
                res *= 10;
                res += c - '0';
                c = read();
            }
            while (!isSpaceChar(c));
                return res * sgn;
        }

        public double nextDouble() {
            int c = read();
            while (isSpaceChar(c))
                c = read();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = read();
            }
            double res = 0;
            while (!isSpaceChar(c) && c != '.') {
                if (c == 'e' || c == 'E')
                    return res * Math.pow(10, nextInt());
                if (c < '0' || c > '9')
                    throw new InputMismatchException();
                res *= 10;
                res += c - '0';
                c = read();
            }
            if (c == '.') {
                c = read();
                double m = 1;
                while (!isSpaceChar(c)) {
                    if (c == 'e' || c == 'E')
                        return res * Math.pow(10, nextInt());
                    if (c < '0' || c > '9')
                        throw new InputMismatchException();
                    m /= 10;
                    res += (c - '0') * m;
                    c = read();
                }
            }
            return res * sgn;
        }

        public String readString() {
            int c = read();
            while (isSpaceChar(c))
                c = read();
            StringBuilder res = new StringBuilder();
            do {
                res.appendCodePoint(c);
                c = read();
            }
            while (!isSpaceChar(c));

            return res.toString();
        }

        public boolean isSpaceChar(int c) {
            if (filter != null)
                return filter.isSpaceChar(c);
            return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
        }

        public String next() {
            return readString();
        }

        public interface SpaceCharFilter {
            public boolean isSpaceChar(int ch);
        }
    }
    public static void main(String args[]) throws Exception {
        new Thread(null, new Main(),"Main",1<<26).start();
    }
    public void run() {
        InputReader sc = new InputReader(System.in);
        PrintWriter w = new PrintWriter(System.out);

                  char c1[]=sc.next().toCharArray();
                  char c2[]=sc.next().toCharArray();
                  int i=0,j=0;
                  int sum1=0,sum2=0;
                  int count=0;
                  for(j=0;j<=(c1.length-c2.length)/2;j++){
                                    for(i=0;i<c2.length/2;i++)
                                    {

                                              if(c1[j+i]==c2[i])
                                              {
                                                                sum1+=0;
                                              }
                                              else
                                              {
                                                                sum1+=1;
                                              }
                                              if(c1[c2.length-1+j-i]==c2[c2.length-1-i])
                                              {
                                                                sum1+=0;
                                              }
                                              else
                                              {
                                                                sum1+=1;
                                              }
                                              if(c1[c1.length-c2.length-j+i]==c2[i])
                                              {
                                                                sum2+=0;
                                              }
                                              else
                                              {
                                                                sum2+=1;
                                              }
                                              if(c1[c1.length-1-(i+j)]==c2[c2.length-1-i])
                                              {
                                                                sum2+=0;
                                              }
                                              else
                                              {
                                                                sum2+=1;
                                              }
                                              //w.println(sum1);
                                              //w.println(sum2);
                                    }
                                    if(c2.length%2==1)
                                    {
                                                      if(c1[j+i]==c2[i])
                                                      {
                                                                        sum1+=0;
                                                      }
                                                      else
                                                      {
                                                                        sum1+=1;
                                                      }
                                                      if(c1[c1.length-c2.length-j+i]==c2[i])
                                                      {
                                                                                sum2+=0;
                                                      }
                                                      else
                                                      {
                                                                                sum2+=1;
                                                      }
                                    }
                                     //w.println(sum1);
                                     //w.println(sum2);
                                    if(sum1%2==0)
                                    {
                                                      count++;
                                    }
                                    if(sum2%2==0)
                                    {
                                                      if(j==(c1.length-c2.length)/2 && ((c1.length%2)==(c2.length%2)))
                                                      {
                                                                        continue;
                                                      }
                                                      count++;
                                    }
                                    sum1=0;
                                    sum2=0;
                  }

                   w.print(count);

        w.close();
    }

}


import java.io.*;
import java.util.*;
import java.math.*;
import java.lang.*;

import static java.lang.Math.*;

public class Main implements Runnable {
    static class InputReader {
        private InputStream stream;
        private byte[] buf = new byte[1024];
        private int curChar;
        private int numChars;
        private SpaceCharFilter filter;
        private BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        public InputReader(InputStream stream) {
            this.stream = stream;
        }

        public int read() {
            if (numChars==-1)
                throw new InputMismatchException();

            if (curChar >= numChars) {
                curChar = 0;
                try {
                    numChars = stream.read(buf);
                }
                catch (IOException e) {
                    throw new InputMismatchException();
                }

                if(numChars <= 0)
                    return -1;
            }
            return buf[curChar++];
        }

        public String nextLine() {
            String str = "";
            try {
                str = br.readLine();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
            return str;
        }
        public int nextInt() {
            int c = read();

            while(isSpaceChar(c))
                c = read();

            int sgn = 1;

            if (c == '-') {
                sgn = -1;
                c = read();
            }

            int res = 0;
            do {
                if(c<'0'||c>'9')
                    throw new InputMismatchException();
                res *= 10;
                res += c - '0';
                c = read();
            }
            while (!isSpaceChar(c));

            return res * sgn;
        }

        public long nextLong() {
            int c = read();
            while (isSpaceChar(c))
                c = read();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = read();
            }
            long res = 0;

            do {
                if (c < '0' || c > '9')
                    throw new InputMismatchException();
                res *= 10;
                res += c - '0';
                c = read();
            }
            while (!isSpaceChar(c));
                return res * sgn;
        }

        public double nextDouble() {
            int c = read();
            while (isSpaceChar(c))
                c = read();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = read();
            }
            double res = 0;
            while (!isSpaceChar(c) && c != '.') {
                if (c == 'e' || c == 'E')
                    return res * Math.pow(10, nextInt());
                if (c < '0' || c > '9')
                    throw new InputMismatchException();
                res *= 10;
                res += c - '0';
                c = read();
            }
            if (c == '.') {
                c = read();
                double m = 1;
                while (!isSpaceChar(c)) {
                    if (c == 'e' || c == 'E')
                        return res * Math.pow(10, nextInt());
                    if (c < '0' || c > '9')
                        throw new InputMismatchException();
                    m /= 10;
                    res += (c - '0') * m;
                    c = read();
                }
            }
            return res * sgn;
        }

        public String readString() {
            int c = read();
            while (isSpaceChar(c))
                c = read();
            StringBuilder res = new StringBuilder();
            do {
                res.appendCodePoint(c);
                c = read();
            }
            while (!isSpaceChar(c));

            return res.toString();
        }

        public boolean isSpaceChar(int c) {
            if (filter != null)
                return filter.isSpaceChar(c);
            return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
        }

        public String next() {
            return readString();
        }

        public interface SpaceCharFilter {
            public boolean isSpaceChar(int ch);
        }
    }
    public static void main(String args[]) throws Exception {
        new Thread(null, new Main(),"Main",1<<26).start();
    }
    public void run() {
        InputReader sc = new InputReader(System.in);
        PrintWriter w = new PrintWriter(System.out);

                  char c1[]=sc.next().toCharArray();
                  char c2[]=sc.next().toCharArray();
                  int i=0,j=0;
                  int sum1=0,sum2=0;
                  int count=0;
                  for(j=0;j<=(c1.length-c2.length)/2;j++){
                                    for(i=0;i<c2.length/2;i++)
                                    {

                                              if(c1[j+i]==c2[i])
                                              {
                                                                sum1+=0;
                                              }
                                              else
                                              {
                                                                sum1+=1;
                                              }
                                              if(c1[c2.length-1+j-i]==c2[c2.length-1-i])
                                              {
                                                                sum1+=0;
                                              }
                                              else
                                              {
                                                                sum1+=1;
                                              }
                                              if(c1[c1.length-c2.length-j+i]==c2[i])
                                              {
                                                                sum2+=0;
                                              }
                                              else
                                              {
                                                                sum2+=1;
                                              }
                                              if(c1[c1.length-1-(i+j)]==c2[c2.length-1-i])
                                              {
                                                                sum2+=0;
                                              }
                                              else
                                              {
                                                                sum2+=1;
                                              }
                                              //w.println(sum1);
                                              //w.println(sum2);
                                    }
                                    if(c2.length%2==1)
                                    {
                                                      if(c1[j+i]==c2[i])
                                                      {
                                                                        sum1+=0;
                                                      }
                                                      else
                                                      {
                                                                        sum1+=1;
                                                      }
                                                      if(c1[c1.length-c2.length+i]==c2[i])
                                                      {
                                                                                sum2+=0;
                                                      }
                                                      else
                                                      {
                                                                                sum2+=1;
                                                      }
                                    }
                                    // w.println(sum1);
                                     //w.println(sum2);
                                    if(sum1%2==0)
                                    {
                                                      count++;
                                    }
                                    if(sum2%2==0)
                                    {
                                                      if(j==(c1.length-c2.length)/2 && ((c1.length%2)==(c2.length%2)))
                                                      {
                                                                        continue;
                                                      }
                                                      count++;
                                    }
                                    sum1=0;
                                    sum2=0;
                  }

                   w.print(count);

        w.close();
    }

}


import java.io.*;
import java.util.*;
import java.math.*;
import java.lang.*;

import static java.lang.Math.*;

public class Main implements Runnable {
    static class InputReader {
        private InputStream stream;
        private byte[] buf = new byte[1024];
        private int curChar;
        private int numChars;
        private SpaceCharFilter filter;
        private BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        public InputReader(InputStream stream) {
            this.stream = stream;
        }

        public int read() {
            if (numChars==-1)
                throw new InputMismatchException();

            if (curChar >= numChars) {
                curChar = 0;
                try {
                    numChars = stream.read(buf);
                }
                catch (IOException e) {
                    throw new InputMismatchException();
                }

                if(numChars <= 0)
                    return -1;
            }
            return buf[curChar++];
        }

        public String nextLine() {
            String str = "";
            try {
                str = br.readLine();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
            return str;
        }
        public int nextInt() {
            int c = read();

            while(isSpaceChar(c))
                c = read();

            int sgn = 1;

            if (c == '-') {
                sgn = -1;
                c = read();
            }

            int res = 0;
            do {
                if(c<'0'||c>'9')
                    throw new InputMismatchException();
                res *= 10;
                res += c - '0';
                c = read();
            }
            while (!isSpaceChar(c));

            return res * sgn;
        }

        public long nextLong() {
            int c = read();
            while (isSpaceChar(c))
                c = read();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = read();
            }
            long res = 0;

            do {
                if (c < '0' || c > '9')
                    throw new InputMismatchException();
                res *= 10;
                res += c - '0';
                c = read();
            }
            while (!isSpaceChar(c));
                return res * sgn;
        }

        public double nextDouble() {
            int c = read();
            while (isSpaceChar(c))
                c = read();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = read();
            }
            double res = 0;
            while (!isSpaceChar(c) && c != '.') {
                if (c == 'e' || c == 'E')
                    return res * Math.pow(10, nextInt());
                if (c < '0' || c > '9')
                    throw new InputMismatchException();
                res *= 10;
                res += c - '0';
                c = read();
            }
            if (c == '.') {
                c = read();
                double m = 1;
                while (!isSpaceChar(c)) {
                    if (c == 'e' || c == 'E')
                        return res * Math.pow(10, nextInt());
                    if (c < '0' || c > '9')
                        throw new InputMismatchException();
                    m /= 10;
                    res += (c - '0') * m;
                    c = read();
                }
            }
            return res * sgn;
        }

        public String readString() {
            int c = read();
            while (isSpaceChar(c))
                c = read();
            StringBuilder res = new StringBuilder();
            do {
                res.appendCodePoint(c);
                c = read();
            }
            while (!isSpaceChar(c));

            return res.toString();
        }

        public boolean isSpaceChar(int c) {
            if (filter != null)
                return filter.isSpaceChar(c);
            return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
        }

        public String next() {
            return readString();
        }

        public interface SpaceCharFilter {
            public boolean isSpaceChar(int ch);
        }
    }
    public static void main(String args[]) throws Exception {
        new Thread(null, new Main(),"Main",1<<26).start();
    }
    public void run() {
        InputReader sc = new InputReader(System.in);
        PrintWriter w = new PrintWriter(System.out);

                  String s1=sc.next();
                  String s2=sc.next();

                  int i=0,diff1=0,diff2=0,count=0;
                  for(i=0;i<s2.length();i++)
                  {
                                if(s1.charAt(i)=='1')
                                {
                                                  diff1++;
                                }
                                if(s2.charAt(i)=='1')
                                {
                                                  diff2++;
                                }
                  }

                  if(diff1%2==diff2%2)
                  {
                                    count++;
                  }

                  for(i=s2.length();i<s1.length();i++)
                  {
                                    diff1-=s1.charAt(i-s2.length());
                                    diff1+=s1.charAt(i);

                                    if(diff1%2==diff2%2)
                                    {
                                                      count++;
                                    }
                  }
                  w.print(count);

        w.close();
    }

}


import java.util.*;
import java.io.*;
import static java.lang.Math.*;
import java.math.BigInteger;
public class Main
{
    static MyScanner scan;
    static PrintWriter pw;
    static long MOD = 1_000_000_007;
    static long INF = 1_000_000_000_000_000_000L;
    static long inf = 2_000_000_000;
    public static void main(String[] args) {
        new Thread(null,null,"BaZ",1<<25)
        {
            public void run()
            {
                try
                {
                    solve();
                }
                catch(Exception e)
                {
                    e.printStackTrace();
                    System.exit(1);
                }
            }
        }.start();
    }

    static void solve() throws IOException
    {
        //initIo(true);
        initIo(false);
        StringBuilder sb = new StringBuilder();
        char a[] = ne().toCharArray();
        char b[] = ne().toCharArray();
        int curr = 0,ans = 0;
        int n = a.length, m = b.length;
        for(int i=0;i<m;++i) {
            if(a[i]!=b[i]) {
                ++curr;
            }
        }
        //pl("curr: "+curr);
        if(curr%2==0) {
            ++ans;
        }
        curr%=2;
        int d = 0;
        for(int i=0;i+1<m;++i) {
            if(b[i]!=b[i+1]) {
                ++d;
            }
        }
        //pl("d: "+d);
        d%=2;
        for(int i=m;i<n;++i) {
            int x = 0;
            if(a[i]!=b[m-1]) {
                x ^= 1;
            }
            if(a[i-m]!=b[0]) {
                x ^= 1;
            }
            if((curr+d+x)%2==0) {
                //pl("inc ans at "+i);
                ans++;
            }
            curr = (curr+d+x)%2;
            //pl("at "+i+" curr: "+curr);
        }
        pl(ans);
        pw.flush();
        pw.close();
    }
    static void initIo(boolean isFileIO) throws IOException {
        scan = new MyScanner(isFileIO);
        if(isFileIO) {
            pw = new PrintWriter("/Users/amandeep/Desktop/output.txt");
        }
        else {
            pw = new PrintWriter(System.out, true);
        }
    }
    static int ni() throws IOException
    {
        return scan.nextInt();
    }
    static long nl() throws IOException
    {
        return scan.nextLong();
    }
    static double nd() throws IOException
    {
        return scan.nextDouble();
    }
    static String ne() throws IOException
    {
        return scan.next();
    }
    static String nel() throws IOException
    {
        return scan.nextLine();
    }
    static void pl()
    {
        pw.println();
    }
    static void p(Object o)
    {
        pw.print(o+" ");
    }
    static void pl(Object o)
    {
        pw.println(o);
    }
    static void psb(StringBuilder sb)
    {
        pw.print(sb);
    }
    static void pa(String arrayName, Object arr[])
    {
        pl(arrayName+" : ");
        for(Object o : arr)
            p(o);
        pl();
    }
    static void pa(String arrayName, int arr[])
    {
        pl(arrayName+" : ");
        for(int o : arr)
            p(o);
        pl();
    }
    static void pa(String arrayName, long arr[])
    {
        pl(arrayName+" : ");
        for(long o : arr)
            p(o);
        pl();
    }
    static void pa(String arrayName, double arr[])
    {
        pl(arrayName+" : ");
        for(double o : arr)
            p(o);
        pl();
    }
    static void pa(String arrayName, char arr[])
    {
        pl(arrayName+" : ");
        for(char o : arr)
            p(o);
        pl();
    }
    static void pa(String listName, List list)
    {
        pl(listName+" : ");
        for(Object o : list)
            p(o);
        pl();
    }
    static void pa(String arrayName, Object[][] arr) {
        pl(arrayName+" : ");
        for(int i=0;i<arr.length;++i) {
            for(Object o : arr[i])
                p(o);
            pl();
        }
    }
    static void pa(String arrayName, int[][] arr) {
        pl(arrayName+" : ");
        for(int i=0;i<arr.length;++i) {
            for(int o : arr[i])
                p(o);
            pl();
        }
    }
    static void pa(String arrayName, long[][] arr) {
        pl(arrayName+" : ");
        for(int i=0;i<arr.length;++i) {
            for(long o : arr[i])
                p(o);
            pl();
        }
    }
    static void pa(String arrayName, char[][] arr) {
        pl(arrayName+" : ");
        for(int i=0;i<arr.length;++i) {
            for(char o : arr[i])
                p(o);
            pl();
        }
    }
    static void pa(String arrayName, double[][] arr) {
        pl(arrayName+" : ");
        for(int i=0;i<arr.length;++i) {
            for(double o : arr[i])
                p(o);
            pl();
        }
    }
    static class MyScanner
    {
        BufferedReader br;
        StringTokenizer st;
        MyScanner(boolean readingFromFile) throws IOException
        {
            if(readingFromFile) {
                br = new BufferedReader(new FileReader("/Users/amandeep/Desktop/input.txt"));
            }
            else {
                br = new BufferedReader(new InputStreamReader(System.in));
            }
        }
        String nextLine()throws IOException
        {
            return br.readLine();
        }
        String next() throws IOException
        {
            if(st==null || !st.hasMoreTokens())
                st = new StringTokenizer(br.readLine());
            return st.nextToken();
        }
        int nextInt() throws IOException
        {
            return Integer.parseInt(next());
        }
        long nextLong() throws IOException
        {
            return Long.parseLong(next());
        }
        double nextDouble() throws IOException
        {
            return Double.parseDouble(next());
        }
    }
}


import java.util.*;
import java.io.*;
import static java.lang.Math.*;
import java.math.BigInteger;
public class Main
{
    static MyScanner scan;
    static PrintWriter pw;
    static long MOD = 1_000_000_007;
    static long INF = 1_000_000_000_000_000_000L;
    static long inf = 2_000_000_000;
    public static void main(String[] args) {
        new Thread(null,null,"BaZ",1<<25)
        {
            public void run()
            {
                try
                {
                    solve();
                }
                catch(Exception e)
                {
                    e.printStackTrace();
                    System.exit(1);
                }
            }
        }.start();
    }

    static void solve() throws IOException
    {
        //initIo(true);
        initIo(false);
        StringBuilder sb = new StringBuilder();
        char a[] = ne().toCharArray();
        char b[] = ne().toCharArray();
        int curr = 0,ans = 0;
        int n = a.length, m = b.length;
        for(int i=0;i<m;++i) {
            if(a[i]!=b[i]) {
                ++curr;
            }
        }
        //pl("curr: "+curr);
        if(curr%2==0) {
            ++ans;
        }
        curr%=2;
        int d = 0;
        for(int i=0;i+1<m;++i) {
            if(b[i]!=b[i+1]) {
                ++d;
            }
        }
        //pl("d: "+d);
        d%=2;
        for(int i=1;i+(m-1)<n;++i) {
            int x = 0;
            if(a[i]!=b[0]) {
                x = 1;
            }
            if((curr+d+x)%2==0) {
                //pl("inc ans at "+i);
                ans++;
            }
            curr = (curr+d+x)%2;
            //pl("at "+i+" curr: "+curr);
        }
        pl(ans);
        pw.flush();
        pw.close();
    }
    static void initIo(boolean isFileIO) throws IOException {
        scan = new MyScanner(isFileIO);
        if(isFileIO) {
            pw = new PrintWriter("/Users/amandeep/Desktop/output.txt");
        }
        else {
            pw = new PrintWriter(System.out, true);
        }
    }
    static int ni() throws IOException
    {
        return scan.nextInt();
    }
    static long nl() throws IOException
    {
        return scan.nextLong();
    }
    static double nd() throws IOException
    {
        return scan.nextDouble();
    }
    static String ne() throws IOException
    {
        return scan.next();
    }
    static String nel() throws IOException
    {
        return scan.nextLine();
    }
    static void pl()
    {
        pw.println();
    }
    static void p(Object o)
    {
        pw.print(o+" ");
    }
    static void pl(Object o)
    {
        pw.println(o);
    }
    static void psb(StringBuilder sb)
    {
        pw.print(sb);
    }
    static void pa(String arrayName, Object arr[])
    {
        pl(arrayName+" : ");
        for(Object o : arr)
            p(o);
        pl();
    }
    static void pa(String arrayName, int arr[])
    {
        pl(arrayName+" : ");
        for(int o : arr)
            p(o);
        pl();
    }
    static void pa(String arrayName, long arr[])
    {
        pl(arrayName+" : ");
        for(long o : arr)
            p(o);
        pl();
    }
    static void pa(String arrayName, double arr[])
    {
        pl(arrayName+" : ");
        for(double o : arr)
            p(o);
        pl();
    }
    static void pa(String arrayName, char arr[])
    {
        pl(arrayName+" : ");
        for(char o : arr)
            p(o);
        pl();
    }
    static void pa(String listName, List list)
    {
        pl(listName+" : ");
        for(Object o : list)
            p(o);
        pl();
    }
    static void pa(String arrayName, Object[][] arr) {
        pl(arrayName+" : ");
        for(int i=0;i<arr.length;++i) {
            for(Object o : arr[i])
                p(o);
            pl();
        }
    }
    static void pa(String arrayName, int[][] arr) {
        pl(arrayName+" : ");
        for(int i=0;i<arr.length;++i) {
            for(int o : arr[i])
                p(o);
            pl();
        }
    }
    static void pa(String arrayName, long[][] arr) {
        pl(arrayName+" : ");
        for(int i=0;i<arr.length;++i) {
            for(long o : arr[i])
                p(o);
            pl();
        }
    }
    static void pa(String arrayName, char[][] arr) {
        pl(arrayName+" : ");
        for(int i=0;i<arr.length;++i) {
            for(char o : arr[i])
                p(o);
            pl();
        }
    }
    static void pa(String arrayName, double[][] arr) {
        pl(arrayName+" : ");
        for(int i=0;i<arr.length;++i) {
            for(double o : arr[i])
                p(o);
            pl();
        }
    }
    static class MyScanner
    {
        BufferedReader br;
        StringTokenizer st;
        MyScanner(boolean readingFromFile) throws IOException
        {
            if(readingFromFile) {
                br = new BufferedReader(new FileReader("/Users/amandeep/Desktop/input.txt"));
            }
            else {
                br = new BufferedReader(new InputStreamReader(System.in));
            }
        }
        String nextLine()throws IOException
        {
            return br.readLine();
        }
        String next() throws IOException
        {
            if(st==null || !st.hasMoreTokens())
                st = new StringTokenizer(br.readLine());
            return st.nextToken();
        }
        int nextInt() throws IOException
        {
            return Integer.parseInt(next());
        }
        long nextLong() throws IOException
        {
            return Long.parseLong(next());
        }
        double nextDouble() throws IOException
        {
            return Double.parseDouble(next());
        }
    }
}


import java.util.Scanner;

public class VusAndStrings {

	private static char[] a, b;
	private static int[] cumulative = new int[1000000];
	private static int onesInB = 0;

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		a = s.next().toCharArray();
		b = s.next().toCharArray();

		for (int i = 0; i < b.length; i++) {
			if (b[i] == '1') {
				onesInB++;
			}
		}

		cumulative[0] = a[0] == '1' ? 1 : 0;
		for (int i = 1; i < a.length; i++) {
			cumulative[i] = cumulative[i - 1] + (a[i] == '1' ? 1 : 0);
		}

		int evenCount = 0;
		for (int i = 0; i < a.length - b.length + 1; i++) {
			int j = i + b.length - 1;
			int diff = Math.abs(onesInB - onesInInterval(i, j));
			if (diff % 2 == 0) {
				evenCount++;
			}
		}
		System.out.println(evenCount);

	}

	private static int onesInInterval(int start, int end) {
		if (start == 0)
			return cumulative[end];
		return cumulative[end] - cumulative[start - 1];
	}

}


import java.util.Scanner;

public class Main {

	private static char[] a, b;
	private static int[] cumulative = new int[1000000];
	private static int onesInB = 0;

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		a = s.next().toCharArray();
		b = s.next().toCharArray();

		for (int i = 0; i < b.length; i++) {
			if (b[i] == '1') {
				onesInB++;
			}
		}

		cumulative[0] = a[0] == '1' ? 1 : 0;
		for (int i = 1; i < a.length; i++) {
			cumulative[i] = cumulative[i - 1] + (a[i] == '1' ? 1 : 0);
		}

		int evenCount = 0;
		for (int i = 0; i < a.length - b.length + 1; i++) {
			int j = i + b.length;
			int diff = Math.abs(onesInB - onesInInterval(i, j));
			if (diff % 2 == 0) {
				evenCount++;
			}
		}
		System.out.println(evenCount);

	}

	private static int onesInInterval(int start, int end) {
		if (start == 0)
			return cumulative[end];
		return cumulative[end] - cumulative[start - 1];
	}

}


import java.util.*;
import java.io.*;

public class Main {
	public static void solve(InputReader in) {
		char s[] = in.readString().toCharArray();
		char t[] = in.readString().toCharArray();

		int cntt = 0;
		int pref[] = new int[s.length];
		if(s[0] == '1') pref[0] = 1;
		for(int i = 1; i<s.length; i++) {
			if(s[i] == '1') {
				pref[i]++;
			}
			pref[i] += pref[i-1];
		}
		for(int i : t) if(i == '1') cntt++;

		int j = 0;
		int ans = 0;
		if(pref[t.length-1] % 2 == cntt%2)ans++;
		for(int i = t.length; i<s.length; i++) {
			if(cntt % 2 == (pref[i] - pref[j])% 2) ans++;
			j++;
		}
		System.out.println(ans);
	}
	public static void main(String[] args) {
		InputReader in = new InputReader(System.in);
		int t = 1;
		while(t-- > 0) {
			solve(in);
		}
	}
}

class InputReader{
	private InputStream stream;
	private byte[] buf = new byte[1024];
	private int curChar;
	private int numChars;
	private SpaceCharFilter filter;

	 public InputReader(InputStream stream) {
		this.stream = stream;
	}

     public int read() {
		if (numChars == -1)
			throw new InputMismatchException();
		if (curChar >= numChars) {
			curChar = 0;
			try {
				numChars = stream.read(buf);
			} catch (IOException e) {
				throw new InputMismatchException();
			}
			if (numChars <= 0)
				return -1;
		}
		return buf[curChar++];
	}

     public int readInt() {
		int c = read();
		while (isSpaceChar(c))
			c = read();
		int sgn = 1;
		if (c == '-') {
			sgn = -1;
			c = read();
		}
		int res = 0;
		do {
			if (c < '0' || c > '9')
				throw new InputMismatchException();
			res *= 10;
			res += c - '0';
			c = read();
		} while (!isSpaceChar(c));
		return res * sgn;
	}

     public String readString() {
		int c = read();
		while (isSpaceChar(c))
			c = read();
		StringBuilder res = new StringBuilder();
		do {
			res.appendCodePoint(c);
			c = read();
		} while (!isSpaceChar(c));
		return res.toString();
	}

     public long readLong() {
		int c = read();
		while (isSpaceChar(c)) {
			c = read();
		}
		int sgn = 1;
		if (c == '-') {
			sgn = -1;
			c = read();
		}
		long res = 0;
		do {
			if (c < '0' || c > '9') {
				throw new InputMismatchException();
			}
			res *= 10;
			res += c - '0';
			c = read();
		} while (!isSpaceChar(c));
		return res * sgn;
	}

     public boolean isSpaceChar(int c) {
		if (filter != null)
			return filter.isSpaceChar(c);
		return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
	}

     public String next() {
		return readString();
	}

     public interface SpaceCharFilter {
		public boolean isSpaceChar(int ch);
	}
}


import java.util.*;
import java.io.*;

public class Main {
	public static void solve(InputReader in) {
		char s[] = in.readString().toCharArray();
		char t[] = in.readString().toCharArray();

		int cntt = 0;
		int pref[] = new int[s.length];
		if(s[0] == '1') pref[0] = 1;
		for(int i = 1; i<s.length; i++) {
			if(s[i] == '1') {
				pref[i]++;
			}
			pref[i] += pref[i-1];
		}
		for(int i : t) if(i == '1') cntt++;

		int j = 0;
		int ans = 0;
		if(pref[t.length-1] % 2 == cntt%2)ans++;
		for(int i = t.length; i<s.length; i++) {
			if(pref[i] % 2 == (pref[i] - pref[j])% 2) ans++;
			j++;
		}
		System.out.println(ans);
	}
	public static void main(String[] args) {
		InputReader in = new InputReader(System.in);
		int t = 1;
		while(t-- > 0) {
			solve(in);
		}
	}
}

class InputReader{
	private InputStream stream;
	private byte[] buf = new byte[1024];
	private int curChar;
	private int numChars;
	private SpaceCharFilter filter;

	 public InputReader(InputStream stream) {
		this.stream = stream;
	}

     public int read() {
		if (numChars == -1)
			throw new InputMismatchException();
		if (curChar >= numChars) {
			curChar = 0;
			try {
				numChars = stream.read(buf);
			} catch (IOException e) {
				throw new InputMismatchException();
			}
			if (numChars <= 0)
				return -1;
		}
		return buf[curChar++];
	}

     public int readInt() {
		int c = read();
		while (isSpaceChar(c))
			c = read();
		int sgn = 1;
		if (c == '-') {
			sgn = -1;
			c = read();
		}
		int res = 0;
		do {
			if (c < '0' || c > '9')
				throw new InputMismatchException();
			res *= 10;
			res += c - '0';
			c = read();
		} while (!isSpaceChar(c));
		return res * sgn;
	}

     public String readString() {
		int c = read();
		while (isSpaceChar(c))
			c = read();
		StringBuilder res = new StringBuilder();
		do {
			res.appendCodePoint(c);
			c = read();
		} while (!isSpaceChar(c));
		return res.toString();
	}

     public long readLong() {
		int c = read();
		while (isSpaceChar(c)) {
			c = read();
		}
		int sgn = 1;
		if (c == '-') {
			sgn = -1;
			c = read();
		}
		long res = 0;
		do {
			if (c < '0' || c > '9') {
				throw new InputMismatchException();
			}
			res *= 10;
			res += c - '0';
			c = read();
		} while (!isSpaceChar(c));
		return res * sgn;
	}

     public boolean isSpaceChar(int c) {
		if (filter != null)
			return filter.isSpaceChar(c);
		return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
	}

     public String next() {
		return readString();
	}

     public interface SpaceCharFilter {
		public boolean isSpaceChar(int ch);
	}
}


import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 *
 * @author Sleeptight
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        InputReader in = new InputReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        CVusTheCossackAndStrings solver = new CVusTheCossackAndStrings();
        solver.solve(1, in, out);
        out.close();
    }

    static class CVusTheCossackAndStrings {
        public void solve(int testNumber, InputReader in, PrintWriter out) {
            String a = in.next();
            String b = in.next();
            int n = a.length();
            int[] sum = new int[n];
            sum[0] = a.charAt(0) - '0';
            for (int i = 1; i < n; i++) {
                int c = a.charAt(i) - '0';
                sum[i] = sum[i - 1] + c;
            }

            int m = b.length();
            int count = 0;
            for (int i = 0; i < m; i++) {
                count += (b.charAt(i)) - '0';
            }

            int ans = 0;
            int bMod = count % 2;
            for (int i = 0; i < n - m; i++) {
                if (i == 0) {
                    int aux = sum[i + m - 1];
                    if (aux % 2 == bMod)
                        ans++;
                } else {
                    int aux = sum[i + m - 1] - sum[i - 1];
                    if (aux % 2 == bMod)
                        ans++;
                }
            }
            out.println(ans);
        }

    }

    static class InputReader {
        public BufferedReader reader;
        public StringTokenizer tokenizer;

        public InputReader(InputStream stream) {
            reader = new BufferedReader(new InputStreamReader(stream), 32768);
            tokenizer = null;
        }

        public String next() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }

    }
}


import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 *
 * @author Sleeptight
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        InputReader in = new InputReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        CVusTheCossackAndStrings solver = new CVusTheCossackAndStrings();
        solver.solve(1, in, out);
        out.close();
    }

    static class CVusTheCossackAndStrings {
        public void solve(int testNumber, InputReader in, PrintWriter out) {
            String a = in.next();
            String b = in.next();
            int n = a.length();
            int[] sum = new int[n];
            sum[0] = a.charAt(0) - '0';
            for (int i = 1; i < n; i++) {
                int c = a.charAt(i) - '0';
                sum[i] = sum[i - 1] + c;
            }

            int m = b.length();
            int count = 0;
            for (int i = 0; i < m; i++) {
                count += (b.charAt(i)) - '0';
            }

            int ans = 0;
            int bMod = count % 2;
            for (int i = 0; i < n - m; i++) {
                if (i == 0) {
                    int aux = sum[i + m];
                    if (aux % 2 == bMod)
                        ans++;
                } else {
                    int aux = sum[i + m] - sum[i - 1];
                    if (aux % 2 == bMod)
                        ans++;
                }
            }
            out.println(ans + 1);
        }

    }

    static class InputReader {
        public BufferedReader reader;
        public StringTokenizer tokenizer;

        public InputReader(InputStream stream) {
            reader = new BufferedReader(new InputStreamReader(stream), 32768);
            tokenizer = null;
        }

        public String next() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }

    }
}


import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 *
 * @author Sleeptight
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        InputReader in = new InputReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        CVusTheCossackAndStrings solver = new CVusTheCossackAndStrings();
        solver.solve(1, in, out);
        out.close();
    }

    static class CVusTheCossackAndStrings {
        public void solve(int testNumber, InputReader in, PrintWriter out) {
            String a = in.next();
            String b = in.next();
            int n = a.length();
            int[] sum = new int[n];
            sum[0] = a.charAt(0) - '0';
            for (int i = 1; i < n; i++) {
                int c = a.charAt(i) - '0';
                sum[i] = sum[i - 1] + c;
            }
            int m = b.length();
            int count = 0;
            for (int i = 0; i < m; i++) {
                count += (b.charAt(i)) - '0';
            }

            int ans = 0;
            int bMod = count % 2;
            for (int i = 0; i <= n - m; i++) {
                if (i == 0) {
                    int aux = sum[m - 1];
                    if (aux % 2 == bMod)
                        ans++;
                } else {
                    int aux = sum[i + m - 1] - sum[i - 1];
                    if (aux % 2 == bMod)
                        ans++;
                }
            }
            out.println(ans);
        }

    }

    static class InputReader {
        public BufferedReader reader;
        public StringTokenizer tokenizer;

        public InputReader(InputStream stream) {
            reader = new BufferedReader(new InputStreamReader(stream), 32768);
            tokenizer = null;
        }

        public String next() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }

    }
}


import java.util.*;
import java.io.*;

public class Solution{
	static PrintWriter out=new PrintWriter(System.out);
	public static void main (String[] args) throws IOException{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

		String[] input=br.readLine().trim().split(" ");

		String a = input[0];
		String b = br.readLine();
		out.println(getCount(a, b));

		out.flush();
		out.close();
	}
	public static int getCount(String a, String b){
	    int n = a.length();
	    int m = b.length();
	    int count1B = 0;
	    int[] prefixSum = new int[n];
	    if(a.charAt(0) == '1'){
	        prefixSum[0] = 1;
	    }
	    for(int i = 1; i < n; i++){
	        prefixSum[i] = prefixSum[i - 1];
	        if(a.charAt(i) == '1'){
	            prefixSum[i]++;
	        }
	    }
	    for(int  i = 0; i < m; i++){
	        if(b.charAt(i) == '1'){
	            count1B++;
	        }
	    }
	    int ans = 0;
	    for(int i = m - 1; i < n; i++){
	        int count1A = (i - m >= 0) ? (prefixSum[i] - prefixSum[i - m]) : prefixSum[i];
	        if((count1A - count1B) % 2 == 0)
	        {
	            ans++;
	        }
	    }
	    return ans;
	}
}


import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 *
 * @author xwchen
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        InputReader in = new InputReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        TaskC solver = new TaskC();
        solver.solve(1, in, out);
        out.close();
    }

    static class TaskC {
        public void solve(int testNumber, InputReader in, PrintWriter out) {
            char[] a = in.next().toCharArray();
            char[] b = in.next().toCharArray();
            int cnt = 0;
            for (int i = 0; i < b.length; ++i) {
                cnt += b[i] == '1' ? 1 : 0;
            }
            int res = 0;
            for (int i = 0; i < b.length - 1; ++i) {
                cnt += a[i] == '1' ? 1 : 0;
            }
            for (int i = b.length - 1; i < a.length; ++i) {
                cnt += a[i] == '1' ? 1 : 0;
                res += cnt % 2 == 0 ? 1 : 0;
                cnt -= a[i - b.length + 1] == '1' ? 1 : 0;
            }
            out.println(res);
        }

    }

    static class InputReader {
        private BufferedReader reader;
        private StringTokenizer tokenizer = new StringTokenizer("");

        public InputReader(InputStream inputStream) {
            this.reader = new BufferedReader(
                    new InputStreamReader(inputStream));
        }

        public String next() {
            while (!tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return tokenizer.nextToken();
        }

    }
}


import java.util.*;
public class Main {

	public static void main(String[] args) {
		Scanner s=new Scanner(System.in);
		String a=s.next();
		String b=s.next();
		int start=0,ans=0;
		int len=b.length();
		for(;start<a.length()-len;start++) {
			int dif=0;
			for(int i=0;i<len;i++) {
				if(b.charAt(i)=='1')
					dif^=1;
				else
					dif^=0;
				if(a.charAt(start+i)=='1')
					dif^=1;
				else
					dif^=0;
			}
			if(dif==0)
				ans++;
		}
		System.out.println(ans);

	}

}


import java.util.*;
public class CF {

	public static void main(String[] args) {
		Scanner s=new Scanner(System.in);
		String a=s.next();
		String b=s.next();
		int start=0,ans=0;
		int len=b.length();
		for(;start<a.length()-len+1;start++) {
			int dif=0;
			for(int i=0;i<len;i++) {
				if(b.charAt(i)=='1')
					dif^=1;
				else
					dif^=0;
				if(a.charAt(start+i)=='1')
					dif^=1;
				else
					dif^=0;
			}
			if(dif==0) {
				ans++;
			}
		}
		System.out.println(ans);

	}

}


import java.util.*;
public class CF {

	public static void main(String[] args) {
		Scanner s=new Scanner(System.in);
		String a=s.next();
		String b=s.next();
		int start=0,ans=0;
		int len=b.length();
		for(;start<a.length()-len+1;start++) {
			int dif=0;
			for(int i=0;i<len;i++) {
				if(b.charAt(i)=='1')
					dif^=1;
				else
					dif^=0;
				if(a.charAt(start+i)=='1')
					dif^=1;
				else
					dif^=0;
			}
			if(dif==0) {
				ans++;
			}
		}

	}

}


import java.util.*;
public class Main{

	public static void main(String[] args) {
		Scanner s=new Scanner(System.in);
		String a=s.next();
		String b=s.next();
		int start=0,ans=0,dif=0;
		int len=b.length();
		for(int i=0;i<len;i++) {
			if(a.charAt(i)!=b.charAt(i))
				dif++;
		}
		if(dif%2==0)ans++;
		for(int i=len;i<a.length();i++) {
			if(a.charAt(i)!=a.charAt(i-len))
				dif++;
			if(dif%2==0)
				ans++;
		}
		System.out.println(ans);

	}

}


import java.util.*;
public class Solution {
	static int diffCount(String A,String B) {
		int c = 0;
		int n = A.length();
		for(int i = 0;i < n;i++) {
			if(A.charAt(i) != B.charAt(i)) c++;
		}
		return c;
	}
	public static void main(String[] args) {
		Scanner x = new Scanner(System.in);
		String A = x.next();
		String B = x.next();
		int c = 0;
		int l = B.length();
		for (int i = 0; i <= A.length() - l; i++) {
		    String z = A.substring(i, i + l);
		    if(diffCount(z,B) % 2 == 0)c++;
		}
		System.out.println(c);
		x.close();
	}

}


import java.util.*;
public class Solution {
	public static void main(String[] args) {
		Scanner x = new Scanner(System.in);
		String A = x.next();
		String B = x.next();
		int c = 0;
		int a = 0;
		int lA = A.length();
		int lB = B.length();
		for(int i = 0;i < lB;i++) {
			a = a ^ A.charAt(i) ^ B.charAt(i);
		}
		if(a%2 == 0) c++;
	    for(int i = lB ;  i < lA ; i++){
	        a = a^A.charAt(i-lB)^A.charAt(i);
	        if(a % 2 == 0) c++;
	    }
		System.out.println(c);
		x.close();
	}

}


import java.util.*;
import java.io.*;
import java.math.*;
public class Solution{
    public static int[] tab;
    public static void main(String[] args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out = new PrintWriter(System.out);
        StringTokenizer st = new StringTokenizer(br.readLine());
        char[] c = st.nextToken().toCharArray();
        st = new StringTokenizer(br.readLine());
        char[] d = st.nextToken().toCharArray();
        int n = c.length;
        int t = d.length;
        int[] sum = new int[n];
        if(c[0]=='1') sum[0] = 1;
        for(int i=1;i<n;i++){
            sum[i] = sum[i-1];
            if(c[i]=='1') sum[i]++;
        }
        int nb = 0;
        for(int i=0;i<t;i++) if(d[i]=='1') nb++;
        int res = 0;
        if(sum[t-1]%2==nb%2) res++;
        for(int i=t;i<n;i++){
            int r = sum[i]-sum[i-t];
            if(r%2==nb%2) res++;
        }
        out.println(res);
        out.flush();
    }
}


import java.io.*;
import java.math.BigInteger;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;

public class Contest {

	public static int gcd(int n1, int n2)
    {
        if (n2 != 0)
            return gcd(n2, n1 % n2);
        else
            return n1;
    }

//////////////////

	public static class pair {
        int x,y;
        pair (int x,int y){
            this.x=x;
            this.y=y;
        }
        public boolean equals(Object o) {
        	if(o instanceof pair) {
        		pair p = (pair)o;
        		return (x == p.x && y == p.y);
        	}
        	return false;
        }
        public int hashCode() {
        	return (Integer.hashCode(x) * 3 + Integer.hashCode(y) );
        }
    }

//////////////////

	static class Cmp implements Comparator<pair>
	{
		public int compare(pair a,pair b)
		{
			if(a.x==b.x)
			{
				return(a.y-b.y);
			}
			return(a.x-b.x);
		}
	}

//////////////////

//////////////////

	   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());
	        }

		   String nextLine()
	        {
	            String str = "";
	            try
	            {
	                str = br.readLine();
	            }
	            catch (IOException e)
	            {
	                e.printStackTrace();
	            }
	            return str;
	        }
	   }

//////////////////////
	//public static ArrayList<Integer> a=new ArrayList();
	   /*
	  public static int Divisors(int n)
	   {
	       // Note that this loop runs till square root
		   int sum=0;
	       for (int i=1; i*i<=(n); i++)
	       {
	           if (n%i == 0)
	           {
	               // If divisors are equal, print only one
	               if (n/i == i)
	               {
	                  // printf("%d ", i);
	            	   sum=sum+1;
	            	   a.add(i);
	               }

	               else // Otherwise print both
	               {
	                   //printf("%d %d ", i, n/i);
	            	   sum=sum+2;
	            	   a.add(i);
	            	   a.add(n/i);
	               }
	           }
	       }
	       return(sum);
	   }
	   */
/////////////////////

	  public static long SmallestPrimeDivisor(long n)
	  {
	      // if divisible by 2
	      if (n % 2 == 0)
	          return 2;

	      // iterate from 3 to sqrt(n)
	      for (long i = 3; i * i <= n; i += 2) {
	          if (n % i == 0)
	              return i;
	      }

	      return n;
	  }

////////////////////

	   public static boolean isprime(long n)
	    {
	        int count=0;

	        for(long i=2;i*i<=n;i++)
	        {
	            if(n%i==0)
	            {
	                return(false);
	            }
	        }
	        return(true);
	    }

//////////////////////

	     //   (x^n)%1000000007
	   public static long modularExponentiation(long x,long n,long M)
	   {
	       if(n==0)
	           return 1;
	       else if(n%2 == 0)        //n is even
	           return modularExponentiation((x*x)%M,n/2,M);
	       else                             //n is odd
	           return (x*modularExponentiation((x*x)%M,(n-1)/2,M))%M;

	   }

	   public static long nCr(int n,int k)
	   {
		  if(k==0)
			  return 1;
		  return(n*nCr(n-1,k-1)/k);
	   }
	   public static long factorial(int n)
	   {
		   if(n==1)
			   return 1;
		   return((n%1000000007)*factorial(n-1));
	   }

	   public static void debug(Object...o) {
		    System.out.println( Arrays.deepToString(o) );
	   }

		public static void main(String []args) throws Exception
		{

			 FastReader in =new FastReader();
			 PrintWriter pw = new PrintWriter(System.out);
		//	StringBuffer s=new StringBuffer(in.nextLine());
            char s1[]=in.nextLine().toCharArray();
            char s2[]=in.nextLine().toCharArray();

             int a1=0,a2=0,m=0,n1=s1.length,n2=s2.length;
             for(int i=0;i<n2;i++)
             {
            	 if(s2[i]=='1')
            	 {
            		 a1++;
            	 }
             }
             for(int i=0;i<n2;i++)
             {
            	 if(s1[i]=='1')
            	 {
            		 a2++;
            	 }
             }
             if((a1%2==0 && a2%2==0) || ( a1%2==1 && a2%2==1) )
             {
            	 m++;
             }
             for(int i=n2;i<n1;i++)
             {
            	 if(s1[i-n2]=='1')
            	 {
            		 a2--;
            	 }
            	 if(s1[i]=='1')
            	 {
            		 a2++;
            	 }
            	 if((a1%2==0 && a2%2==0) || ( a1%2==1 && a2%2==1) )
                 {
                	 m++;
                 }
             }
             pw.println(m);

	        pw.flush();
			pw.close();

	}

}


import java.io.*;
import java.math.BigInteger;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;

public class Contest {

	public static int gcd(int n1, int n2)
    {
        if (n2 != 0)
            return gcd(n2, n1 % n2);
        else
            return n1;
    }

//////////////////

	public static class pair {
        int x,y;
        pair (int x,int y){
            this.x=x;
            this.y=y;
        }
        public boolean equals(Object o) {
        	if(o instanceof pair) {
        		pair p = (pair)o;
        		return (x == p.x && y == p.y);
        	}
        	return false;
        }
        public int hashCode() {
        	return (Integer.hashCode(x) * 3 + Integer.hashCode(y) );
        }
    }

//////////////////

	static class Cmp implements Comparator<pair>
	{
		public int compare(pair a,pair b)
		{
			if(a.x==b.x)
			{
				return(a.y-b.y);
			}
			return(a.x-b.x);
		}
	}

//////////////////

//////////////////

	   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());
	        }

		   String nextLine()
	        {
	            String str = "";
	            try
	            {
	                str = br.readLine();
	            }
	            catch (IOException e)
	            {
	                e.printStackTrace();
	            }
	            return str;
	        }
	   }

//////////////////////
	//public static ArrayList<Integer> a=new ArrayList();
	   /*
	  public static int Divisors(int n)
	   {
	       // Note that this loop runs till square root
		   int sum=0;
	       for (int i=1; i*i<=(n); i++)
	       {
	           if (n%i == 0)
	           {
	               // If divisors are equal, print only one
	               if (n/i == i)
	               {
	                  // printf("%d ", i);
	            	   sum=sum+1;
	            	   a.add(i);
	               }

	               else // Otherwise print both
	               {
	                   //printf("%d %d ", i, n/i);
	            	   sum=sum+2;
	            	   a.add(i);
	            	   a.add(n/i);
	               }
	           }
	       }
	       return(sum);
	   }
	   */
/////////////////////

	  public static long SmallestPrimeDivisor(long n)
	  {
	      // if divisible by 2
	      if (n % 2 == 0)
	          return 2;

	      // iterate from 3 to sqrt(n)
	      for (long i = 3; i * i <= n; i += 2) {
	          if (n % i == 0)
	              return i;
	      }

	      return n;
	  }

////////////////////

	   public static boolean isprime(long n)
	    {
	        int count=0;

	        for(long i=2;i*i<=n;i++)
	        {
	            if(n%i==0)
	            {
	                return(false);
	            }
	        }
	        return(true);
	    }

//////////////////////

	     //   (x^n)%1000000007
	   public static long modularExponentiation(long x,long n,long M)
	   {
	       if(n==0)
	           return 1;
	       else if(n%2 == 0)        //n is even
	           return modularExponentiation((x*x)%M,n/2,M);
	       else                             //n is odd
	           return (x*modularExponentiation((x*x)%M,(n-1)/2,M))%M;

	   }

	   public static long nCr(int n,int k)
	   {
		  if(k==0)
			  return 1;
		  return(n*nCr(n-1,k-1)/k);
	   }
	   public static long factorial(int n)
	   {
		   if(n==1)
			   return 1;
		   return((n%1000000007)*factorial(n-1));
	   }

	   public static void debug(Object...o) {
		    System.out.println( Arrays.deepToString(o) );
	   }

		public static void main(String []args) throws Exception
		{

			 FastReader in =new FastReader();
			 PrintWriter pw = new PrintWriter(System.out);
		//	StringBuffer s=new StringBuffer(in.nextLine());
            char s1[]=in.nextLine().toCharArray();
            char s2[]=in.nextLine().toCharArray();

             int a1=0,a2=0,m=0,n1=s1.length,n2=s2.length;
             for(int i=0;i<n2;i++)
             {
            	 if(s2[i]=='1')
            	 {
            		 a1++;
            	 }
             }
             for(int i=0;i<n2;i++)
             {
            	 if(s1[i]=='1')
            	 {
            		 a2++;
            	 }
             }
             if((a1%2==0 && a2%2==0) || ( a1%2==0 && a2%2==0) )
             {
            	 m++;
             }
             for(int i=n2;i<n1;i++)
             {
            	 if(s1[i-n2]=='1')
            	 {
            		 a1--;
            	 }
            	 if(s1[i]=='1')
            	 {
            		 a1++;
            	 }
            	 if((a1%2==0 && a2%2==0) || ( a1%2==0 && a2%2==0) )
                 {
                	 m++;
                 }
             }
             pw.println(m);

	        pw.flush();
			pw.close();

	}

}


import java.lang.reflect.Array;
import java.math.BigInteger;
import java.util.*;
public class Practice {
	public static void main(String []args)
	{
		Scanner sc=new Scanner(System.in);

		String a=sc.nextLine();
		String b=sc.nextLine();

		int n1=a.length();
		int n2=b.length();
		int n=n1-n2;

		BigInteger b1=new BigInteger(b,2);
		//System.out.println(b1);
		long m=0,t=0;
		for(int i=0;i<=n;i++)
		{
			String s=a.substring(i,i+n2);
			//System.out.println(s);
			BigInteger b2=new BigInteger(s,2);
			//System.out.println(b2);
			BigInteger b3=b1.xor(b2);
			long x1=b3.longValue();
			String s2=Long.toBinaryString(x1);
			//System.out.println(b3);
			//System.out.println(s2);
			String s3[]=s2.split("");
			//System.out.println(s3[0]+"  "+s3[1]);

			ArrayList l1=new ArrayList(Arrays.asList(s3));
			//System.out.println(l1);
			int f1=Collections.frequency(l1,"1");
			//System.out.println(f1);
			 if(f1%2==0)
			 {
				 t++;

			 }

		}

		System.out.println(t);

		/*
		int n=sc.nextInt();
		for(int i=0;i<n;i++)
		{
			int m=sc.nextInt();
			int k=sc.nextInt();
			Set s=new TreeSet();
			for(int j=0;j<m;j++)
			{
				s.add(sc.nextInt());
			}
			//System.out.println(s);
			int a1[]=new int[s.size()];
			int b1[]=new int[s.size()];
			Object[]c1=new Object[s.size()];
			c1=s.toArray();

			for(int t=0;t<s.size();t++)
			{
				a1[t]=Math.abs((int)c1[t]-k);
				b1[t]=Math.abs((int)c1[t]+k);
			}
			Arrays.sort(a1);
			Arrays.sort(b1);
			Arrays.sort(c1);
			int h1=a1[0];
			int h2=b1[s.size()-1];

			int b=h2;
			int m1=0;
			while(m1==0)
			{
				int p=0;
				for(p=0;p<s.size();p++)
				{
					if(Math.abs((int)c1[p]-h2)>k)
					{
						if(p>0)
						{
							m1=1;
							break;

						}
						h2--;
						p=s.size()+5;
					}

				}
				if(p==s.size())
				{
					m1=2;
				}
			}
			if(m1==1)
			{
				System.out.println(-1);
			}
			else
			{
				System.out.println(h2);
			}
		}

		*/
	}

}


import java.lang.reflect.Array;
import java.util.*;
public class Practice {
	public static void main(String []args)
	{
		Scanner sc=new Scanner(System.in);

		String a=sc.nextLine();
		String b=sc.nextLine();

		int n1=a.length();
		int n2=b.length();
		int n=n1-n2;

		int m=0,t=0;
		for(int i=0;i<=n;i++)
		{
			String s=a.substring(i,i+n2);
			 for(int j=0;j<b.length();j++)
			 {
				 if(s.charAt(j)!=b.charAt(j))
				 {
					 m++;
				 }
			 }
			 if(m%2==0)
			 {
				 t++;

			 }
			 m=0;
		}
		System.out.println(t);

	}

}


import java.util.*;
public class VustheCossackandStrings {

	public static void main(String[] args) {
		Scanner scn = new Scanner(System.in);
		String a=scn.nextLine();
		String b=scn.nextLine();
		int[] array=new int[a.length()+1];
		int num=0;
		for(int i=0;i<a.length();i++) {
			if(a.charAt(i)=='1')
				array[i+1]=array[i]+1;
			else
				array[i+1]=array[i];
		}
		for(int i=0;i<b.length();i++) {
			if(b.charAt(i)=='1') {
				num=num+1;
			}
		}
		int ans=0;
		for(int i=0;(i+b.length())<=a.length();i++) {
			if((array[i+b.length()]-array[i]+num)%2==0) {
				ans++;
			}
		}
		System.out.println(ans);
	}

}


import java.util.*;
public class VustheCossackandStrings {

	public static void main(String[] args) {
		Scanner scn = new Scanner(System.in);
		String a=scn.nextLine();
		String b=scn.nextLine();
		int len=b.length();
		int ans=0;
		for(int i=0;a.length()>=b.length() && b.length()>0;i++) {
			String s=a.substring(0, len);
			int count=0;
			for(int f=0,bk=len-1;f<=bk;f++,bk--) {
				if(s.charAt(f)!=b.charAt(f))
					count++;
				if(f!=bk && s.charAt(bk)!=b.charAt(bk))
					count++;
			}
			if(count%2==0)
			{
				ans++;
			}

			a=a.substring(1);
		}
		System.out.print(ans);
	}

}


import javax.swing.plaf.synth.SynthTextAreaUI;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;

import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.*;
import java.lang.StringBuilder;

public class second {

    static class Reader
    {
        final private int BUFFER_SIZE = 1 << 16;
        private DataInputStream din;
        private byte[] buffer;
        private int bufferPointer, bytesRead;

        public Reader()
        {
            din = new DataInputStream(System.in);
            buffer = new byte[BUFFER_SIZE];
            bufferPointer = bytesRead = 0;
        }

        public Reader(String file_name) throws IOException
        {
            din = new DataInputStream(new FileInputStream(file_name));
            buffer = new byte[BUFFER_SIZE];
            bufferPointer = bytesRead = 0;
        }

        public String readLine() throws IOException
        {
            byte[] buf = new byte[1000001]; // line length
            int cnt = 0, c;
            while ((c = read()) != -1)
            {
                if (c == '\n')
                    break;
                buf[cnt++] = (byte) c;
            }
            return new String(buf, 0, cnt);
        }

        public int nextInt() throws IOException
        {
            int ret = 0;
            byte c = read();
            while (c <= ' ')
                c = read();
            boolean neg = (c == '-');
            if (neg)
                c = read();
            do
            {
                ret = ret * 10 + c - '0';
            }  while ((c = read()) >= '0' && c <= '9');

            if (neg)
                return -ret;
            return ret;
        }

        public long nextLong() throws IOException
        {
            long ret = 0;
            byte c = read();
            while (c <= ' ')
                c = read();
            boolean neg = (c == '-');
            if (neg)
                c = read();
            do {
                ret = ret * 10 + c - '0';
            }
            while ((c = read()) >= '0' && c <= '9');
            if (neg)
                return -ret;
            return ret;
        }

        public double nextDouble() throws IOException
        {
            double ret = 0, div = 1;
            byte c = read();
            while (c <= ' ')
                c = read();
            boolean neg = (c == '-');
            if (neg)
                c = read();

            do {
                ret = ret * 10 + c - '0';
            }
            while ((c = read()) >= '0' && c <= '9');

            if (c == '.')
            {
                while ((c = read()) >= '0' && c <= '9')
                {
                    ret += (c - '0') / (div *= 10);
                }
            }

            if (neg)
                return -ret;
            return ret;
        }

        private void fillBuffer() throws IOException
        {
            bytesRead = din.read(buffer, bufferPointer = 0, BUFFER_SIZE);
            if (bytesRead == -1)
                buffer[0] = -1;
        }

        private byte read() throws IOException
        {
            if (bufferPointer == bytesRead)
                fillBuffer();
            return buffer[bufferPointer++];
        }

        public void close() throws IOException
        {
            if (din == null)
                return;
            din.close();
        }
    }

    static long count(int n,int m){
        int row=n/3;
        if(n%3==2)
            row++;
        int column=m/2;
        if(m%2==1)
            column++;
        long ans=row*column;
        if(n%3==1)
        {
            ans += m/3;
            if(m%3==2)
                ans++;
        }
        return ans;

    }

    public static void main(String[] args) throws IOException
    {
        Reader s=new Reader();
        Scanner sc=new Scanner(System.in);
        char a[]=sc.nextLine().toCharArray();
        char b[]=sc.nextLine().toCharArray();
        int ans=0;
        int pre[]=new int[a.length];
        int no1=0;
        if(a[0]=='1')
            pre[0]=1;
        for(int i=1;i<a.length;i++)
        {
            pre[i]=pre[i-1];
            if(a[i]=='1')
                pre[i]++;
        }
        for(int i=0;i<b.length;i++)
            if(b[i]=='1')
                no1++;
            no1=no1%2;
        if(pre[b.length-1]%2==no1)
            ans++;
        for(int i=1;i<=a.length-b.length;i++)
            if((pre[i-1+b.length]-pre[i-1])%2==no1)
                ans++;
        System.out.println(ans);
    }
}


import javax.swing.plaf.synth.SynthTextAreaUI;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;

import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.*;
import java.lang.StringBuilder;

public class second {

    static class Reader
    {
        final private int BUFFER_SIZE = 1 << 16;
        private DataInputStream din;
        private byte[] buffer;
        private int bufferPointer, bytesRead;

        public Reader()
        {
            din = new DataInputStream(System.in);
            buffer = new byte[BUFFER_SIZE];
            bufferPointer = bytesRead = 0;
        }

        public Reader(String file_name) throws IOException
        {
            din = new DataInputStream(new FileInputStream(file_name));
            buffer = new byte[BUFFER_SIZE];
            bufferPointer = bytesRead = 0;
        }

        public String readLine() throws IOException
        {
            byte[] buf = new byte[1000001]; // line length
            int cnt = 0, c;
            while ((c = read()) != -1)
            {
                if (c == '\n')
                    break;
                buf[cnt++] = (byte) c;
            }
            return new String(buf, 0, cnt);
        }

        public int nextInt() throws IOException
        {
            int ret = 0;
            byte c = read();
            while (c <= ' ')
                c = read();
            boolean neg = (c == '-');
            if (neg)
                c = read();
            do
            {
                ret = ret * 10 + c - '0';
            }  while ((c = read()) >= '0' && c <= '9');

            if (neg)
                return -ret;
            return ret;
        }

        public long nextLong() throws IOException
        {
            long ret = 0;
            byte c = read();
            while (c <= ' ')
                c = read();
            boolean neg = (c == '-');
            if (neg)
                c = read();
            do {
                ret = ret * 10 + c - '0';
            }
            while ((c = read()) >= '0' && c <= '9');
            if (neg)
                return -ret;
            return ret;
        }

        public double nextDouble() throws IOException
        {
            double ret = 0, div = 1;
            byte c = read();
            while (c <= ' ')
                c = read();
            boolean neg = (c == '-');
            if (neg)
                c = read();

            do {
                ret = ret * 10 + c - '0';
            }
            while ((c = read()) >= '0' && c <= '9');

            if (c == '.')
            {
                while ((c = read()) >= '0' && c <= '9')
                {
                    ret += (c - '0') / (div *= 10);
                }
            }

            if (neg)
                return -ret;
            return ret;
        }

        private void fillBuffer() throws IOException
        {
            bytesRead = din.read(buffer, bufferPointer = 0, BUFFER_SIZE);
            if (bytesRead == -1)
                buffer[0] = -1;
        }

        private byte read() throws IOException
        {
            if (bufferPointer == bytesRead)
                fillBuffer();
            return buffer[bufferPointer++];
        }

        public void close() throws IOException
        {
            if (din == null)
                return;
            din.close();
        }
    }

    static long count(int n,int m){
        int row=n/3;
        if(n%3==2)
            row++;
        int column=m/2;
        if(m%2==1)
            column++;
        long ans=row*column;
        if(n%3==1)
        {
            ans += m/3;
            if(m%3==2)
                ans++;
        }
        return ans;

    }

    public static void main(String[] args) throws IOException
    {
        Reader s=new Reader();
        Scanner sc=new Scanner(System.in);
        char a[]=sc.nextLine().toCharArray();
        char b[]=sc.nextLine().toCharArray();
        int ans=0;
        for(int i=0;i<=a.length-b.length;i++){
            int even=0;
            for(int j=0;j<b.length;j++){
                if(a[i+j]!=b[j])
                    even++;
            }
            if(even%2==0)
                ans++;
        }
        System.out.println(ans);
    }
}