#arc103c. [arc103_c]Tr/ee

[arc103_c]Tr/ee

题目描述

给定一个长度为nn的字符串ss。是否存在一个满足以下条件的包含nn个顶点的树?

  • 顶点编号为1,2,...,n1,2,...,n
  • 边的编号为1,2,...,n11,2,...,n-1,第ii条边连接顶点uiu_iviv_i
  • 如果ss的第ii个字符为1,则通过从树中移除一条边,我们可以获得一个大小为ii的连通分量。
  • 如果ss的第ii个字符为0,则无法通过移除任意一条边从树中获得大小为ii的连通分量。

如果存在这样的树,请构造一棵满足条件的树。

约束条件

  • 2n1052 \leq n \leq 10^5
  • ss是一个长度为nn的字符串,由01组成。

输入

输入以以下格式从标准输入给出:

ss

输出

如果不存在满足条件的包含nn个顶点的树,则输出-1

如果存在满足条件的包含nn个顶点的树,则输出n1n-1行。每行输出一个边,用顶点uiu_iviv_i表示,中间用一个空格隔开。如果有多棵满足条件的树,任何一棵都会被接受。


示例输入1

1111

示例输出1

-1

在包含nn个顶点的树中,移除一条边之后无法得到大小为nn的连通分量。


示例输入2

1110

示例输出2

1 2
2 3
3 4

如果移除边11或边33,我们将得到一个大小为11的连通分量和一个大小为33的连通分量。如果移除边22,我们将得到两个大小为22的连通分量。


示例输入3

1010

示例输出3

1 2
1 3
1 4

移除任意一条边都会得到一个大小为11的连通分量和一个大小为33的连通分量。