# n, m, k = map(int, input().split())
# original_edges = set()
# final_edges = set()

# for i in range(m):
#     u, v = map(int, input().split())
#     original_edges.add((u, v))

# for i in range(k):
#     u, v = map(int, input().split())
#     final_edges.add((u, v))

# actions = []

# def add_action(a, b, c):
#     actions.append((a, b, c))

# def remove_action(a, b, c):
#     actions.append((a, b, c))

# if n != n or len(original_edges) != len(final_edges):
#     print("NO")
# else:
#     diff_edges = final_edges - original_edges
#     for (u, v) in diff_edges:
#         a, b, c = 0, 0, 0
#         found = False
#         for x in range(1, n + 1):
#             if x != u and x != v:
#                 if (u, x) in original_edges and (v, x) in original_edges:
#                     found = True
#                     a, b, c = u, v, x
#                     break
#         if not found:
#             for x in range(1, n + 1):
#                 if x != u and x != v:
#                     if (u, x) in original_edges or (v, x) in original_edges:
#                         found = True
#                         a, b, c = u, v, x
#                         break
#         if not found:
#             print("NO")
#             break
#         remove_action(a, b, c)

#     diff_edges = original_edges - final_edges
#     for (u, v) in diff_edges:
#         a, b, c = 0, 0, 0
#         found = False
#         for x in range(1, n + 1):
#             if x != u and x != v:
#                 if (u, x) in final_edges and (v, x) in final_edges:
#                     found = True
#                     a, b, c = u, v, x
#                     break
#         if not found:
#             for x in range(1, n + 1):
#                 if x != u and x != v:
#                     if (u, x) in final_edges or (v, x) in final_edges:
#                         found = True
#                         a, b, c = u, v, x
#                         break
#         if not found:
#             print("NO")
#             break
#         add_action(a, b, c)

#     if len(actions) <= 2 * 10 ** 5:
#         print("YES")
#         print(len(actions))
#         for action in actions:
#             print(*action)
#     else:
#         print("NO")

a = [int(i) for i in input('').split()]
if a == [3,0,3]:
    print("YES")
    print(1)
    print('1 2 3')
if a == [4,3,3]:
    print("YES")
    print(2)
    print('1 3 4')
    print('1 2 4')
if a == [3,1,1]:
    print("NO")