#include <iostream>
void PrintCommonElementsInThreeArrays(int arr1[], int arr2[], int arr3[],
int size1, int size2, int size3) {
int i = 0, j = 0, k = 0;
while(i < size1 && j < size2 && k < size3) {
if (arr1[i] == arr2[j] && arr3[k] == arr1[i]) {
std::cout << arr1[i] << " ";
i++; j++; k++;
}
else if (arr1[i] < arr2[j])
i++;
else if (arr2[j] < arr3[k])
j++;
else
k++;
}
}
int main() {
int arr1[] = {2, 5, 6, 7, 9, 12, 20, 25, 30, 31};
int arr2[] = {4, 7, 10, 11, 20, 21, 30, 31, 37};
int arr3[] = {1, 2, 5, 7, 9, 18, 19, 20, 31, 32, 38, 39, 40, 50};
int size1 = sizeof(arr1)/sizeof(arr1[0]);
int size2 = sizeof(arr2)/sizeof(arr2[0]);
int size3 = sizeof(arr3)/sizeof(arr3[0]);
PrintCommonElementsInThreeArrays(arr1, arr2, arr3, size1, size2, size2);
}
/*
run:
7 20 31
*/