#include <stdio.h>
#include <string.h>
 
int max_balanced_substrings(const char *s) {
    int countX = 0, countY = 0;
    int maxBalancedCount = 0;
    int length = strlen(s);
 
    for (int i = 0; i < length; i++) {
        if (s[i] == 'X') {
            countX++;
        } else if (s[i] == 'Y') {
            countY++;
        }
 
        // Check if the current substring is balanced
        if (countX == countY) {
            maxBalancedCount++;
            // Reset counters for the next substring
            countX = 0;
            countY = 0;
        }
    }
 
    return maxBalancedCount;
}
 
int main() {
    const char *input = "XXYYXY";
    printf("%d\n", max_balanced_substrings(input));  // Output: 2
    return 0;
}