import math
from math import gcd

def str_to_num(s):
    """将循环节字符串转为整数"""
    return int(s) if s else 0

def fraction_to_repeating_decimal(numerator, denominator, is_negative):
    """
    将分数(numerator/denominator)转为循环小数的循环节
    :param numerator: 分子(正)
    :param denominator: 分母(正)
    :param is_negative: 是否为负数
    :return: (循环节长度, 循环节字符串)
    """
    remainder_map = {}
    decimal_digits = []
    remainder = numerator#分子
    idx = 0

    # 处理负数:1 - 小数部分(借位)
    if is_negative:
        # 负数小数部分 = 1 - (numerator/denominator) = (denominator - numerator) / denominator
        remainder = denominator - remainder
        if remainder == 0:
            # 1 - 1 = 0 → 循环节0
            return 1, '0'

    # 长除法核心逻辑:直到余数为0或余数重复
    while remainder != 0 and remainder not in remainder_map:
        # 1. 记录当前余数的首次出现位置(索引)
        remainder_map[remainder] = idx
        # 2. 余数×10:手工除法中“补0继续除”的操作
        remainder *= 10
        # 3. 计算当前位的小数数字(商的整数部分)
        digit = remainder // denominator
        # 4. 把当前位数字存入列表
        decimal_digits.append(str(digit))
        # 5. 更新余数:取整除后的余数,为下一轮除法做准备
        remainder = remainder % denominator
        # 6. 小数位索引+1,准备计算下一位
        idx += 1

    # 提取循环节
    if remainder in remainder_map:
        # 找到循环起始位置,截取循环节
        start_idx = remainder_map[remainder]
        repeating = decimal_digits[start_idx:]
    else:
        # 有限小数 → 循环节为0
        repeating = ['0']

    # 确保循环节非空且从第一位开始
    if not repeating:
        repeating = ['0']
    # 去重循环节(如000→0,1212→12)
    # 可选优化:找最小循环节(题目允许输出任意,可省略)
    cycle_str = ''.join(repeating)
    return len(cycle_str), cycle_str

def main():
    import sys
    input_lines = sys.stdin.read().splitlines()
    # 解析输入
    n, m = map(int, input_lines[0].split())
    a_cycle = input_lines[1].strip()
    b_cycle = input_lines[2].strip()
    
    # 步骤1:循环节转整数
    a_num = str_to_num(a_cycle)
    b_num = str_to_num(b_cycle)
    
    # 步骤2:计算原始分母(10^n -1 和 10^m -1)
    den_a = 10**n - 1
    den_b = 10**m - 1
    
    # 步骤3:通分计算分子和分母
    numerator = a_num * den_b - b_num * den_a  # 分子 = a_num/den_a - b_num/den_b
    denominator = den_a * den_b                # 分母
    
    # 特殊情况:结果为0
    if numerator == 0:
        print(1)
        print(0)
        return
    
    # 步骤4:约分(保留符号)求最小公倍数
    common_divisor = gcd(abs(numerator), denominator)
    num = numerator // common_divisor
    den = denominator // common_divisor
    
    # 步骤5:分离整数部分和小数部分(a-b的整数部分只能是0或-0)
    integer_part = num // den
    decimal_num = abs(num) % den  # 小数部分分子(正)
    decimal_den = den             # 小数部分分母
    
    # 步骤6:判断是否为负数小数
    is_negative = (num < 0) and (decimal_num != 0)
    
    # 步骤7:计算循环节
    cycle_len, cycle_str = fraction_to_repeating_decimal(decimal_num, decimal_den, is_negative)
    
    # 输出结果
    print(cycle_len)
    print(cycle_str)

if __name__ == "__main__":
    main()