//大意为每个测试用例给两个整数,计算这两个整数相加的过程中产生的总进位数。
//多个测试用例,最后一行的0,0不用算
/*
 *感觉用字符串做更方便些
*/
#include "stdio.h"
#include "string"
#include "algorithm"
using namespace std;

int main(){
    char num1[11],num2[12];
    while(scanf("%s %s",num1,num2)!=EOF){
        string str1 = num1,str2 = num2;
        if (str1 == "0" && str2 == "0")
            break;
        reverse(str1.begin(),str1.end());//低字节存储地位,这样的话个位在左,不逆转的话个位在右,
                                         //从右向左做,思路都一样,没有什么区别
        reverse(str2.begin(),str2.end());
        int sum = 0,carry = 0;//记录进位次数的,记录当前是否进位
        int length = max(str1.size(),str2.size());
        while (str1.size() < length)
            str1 += "0";
        while (str2.size() < length)
            str2 += "0";
        for (int i = 0; i < length; ++i) {
            if(str1[i]-'0'+str2[i]-'0'+carry >= 10){
                carry = 1;
                ++sum;
            }
            else
                carry = 0;
        }
        if (sum == 0)
            printf("NO carry operation.\n");
        else if(sum == 1)
            printf("1 carry operation.\n");
        else
            printf("%d carry operations.\n",sum);
    }
}