using System;
using System.IO ;
using System.Linq ;
using System.Text .RegularExpressions ;
public class Issue
{
public int Id { get; set; }
public string IssueName { get; set; }
public string Summary { get; set; }
public string Solution { get; set; }
public string InternalNodes { get; set; }
public string ExternalNodes { get; set; }
}
public class Test
{
public static string GetText( )
{
using ( var sr = new StreamReader( Console.OpenStandardInput ( ) , Console.InputEncoding ) )
return sr.ReadToEnd ( ) ;
}
public static void Main( )
{
var issues = Regex.Matches ( GetText( ) , @"Issue\s*(\d+):\s*([^\r \n ]*?)\s*\r ?\n (?:Summary:\s*([^\r \n ]*?)\s*\r ?\n |Solution:\s*([^\r \n ]*?)\s*\r ?\n |Affected Nodes: Internal\s*([^\r \n ]*?)\s*\r ?\n |Affected Nodes: External\s*([^\r \n ]*?)\s*\r ?\n )*" )
.Cast < Match> ( )
.Select ( m => new Issue
{
Id = int .Parse ( m.Groups [ 1 ] .Value ) ,
IssueName = m.Groups [ 2 ] .Value ,
Summary = m.Groups [ 3 ] .Value ,
Solution = m.Groups [ 4 ] .Value ,
InternalNodes = m.Groups [ 5 ] .Value ,
ExternalNodes = m.Groups [ 6 ] .Value ,
} )
.ToList ( ) ;
foreach ( var x in issues)
Console.WriteLine ( "{0} {1} {2,-6} {3,-6} {4,-12} {5,-12}" , x.Id , x.IssueName , x.Summary , x.Solution , x.InternalNodes , x.ExternalNodes ) ;
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uSU87CnVzaW5nIFN5c3RlbS5MaW5xOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgSXNzdWUKewogIHB1YmxpYyBpbnQgSWQgeyBnZXQ7IHNldDsgfQogIHB1YmxpYyBzdHJpbmcgSXNzdWVOYW1lIHsgZ2V0OyBzZXQ7IH0KICBwdWJsaWMgc3RyaW5nIFN1bW1hcnkgeyBnZXQ7IHNldDsgfQogIHB1YmxpYyBzdHJpbmcgU29sdXRpb24geyBnZXQ7IHNldDsgfQogIHB1YmxpYyBzdHJpbmcgSW50ZXJuYWxOb2RlcyB7IGdldDsgc2V0OyB9CiAgcHVibGljIHN0cmluZyBFeHRlcm5hbE5vZGVzIHsgZ2V0OyBzZXQ7IH0KfQoKcHVibGljIGNsYXNzIFRlc3QKewogIHB1YmxpYyBzdGF0aWMgc3RyaW5nIEdldFRleHQoKQogIHsKICAgIHVzaW5nICh2YXIgc3IgPSBuZXcgU3RyZWFtUmVhZGVyKENvbnNvbGUuT3BlblN0YW5kYXJkSW5wdXQoKSwgQ29uc29sZS5JbnB1dEVuY29kaW5nKSkKICAgICAgcmV0dXJuIHNyLlJlYWRUb0VuZCgpOwogIH0KICAKICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCiAgewogICAgdmFyIGlzc3VlcyA9IFJlZ2V4Lk1hdGNoZXMoR2V0VGV4dCgpLCBAIklzc3VlXHMqKFxkKyk6XHMqKFteXHJcbl0qPylccypccj9cbig/OlN1bW1hcnk6XHMqKFteXHJcbl0qPylccypccj9cbnxTb2x1dGlvbjpccyooW15cclxuXSo/KVxzKlxyP1xufEFmZmVjdGVkIE5vZGVzOiBJbnRlcm5hbFxzKihbXlxyXG5dKj8pXHMqXHI/XG58QWZmZWN0ZWQgTm9kZXM6IEV4dGVybmFsXHMqKFteXHJcbl0qPylccypccj9cbikqIikKICAgICAgLkNhc3Q8TWF0Y2g+KCkKICAgICAgLlNlbGVjdChtID0+IG5ldyBJc3N1ZQogICAgICB7CiAgICAgICAgSWQgPSBpbnQuUGFyc2UobS5Hcm91cHNbMV0uVmFsdWUpLAogICAgICAgIElzc3VlTmFtZSA9IG0uR3JvdXBzWzJdLlZhbHVlLAogICAgICAgIFN1bW1hcnkgPSBtLkdyb3Vwc1szXS5WYWx1ZSwKICAgICAgICBTb2x1dGlvbiA9IG0uR3JvdXBzWzRdLlZhbHVlLAogICAgICAgIEludGVybmFsTm9kZXMgPSBtLkdyb3Vwc1s1XS5WYWx1ZSwKICAgICAgICBFeHRlcm5hbE5vZGVzID0gbS5Hcm91cHNbNl0uVmFsdWUsCiAgICAgIH0pCiAgICAgIC5Ub0xpc3QoKTsKICAgIAogICAgZm9yZWFjaCAodmFyIHggaW4gaXNzdWVzKQogICAgICBDb25zb2xlLldyaXRlTGluZSgiezB9ICAgezF9ICAgezIsLTZ9ICAgezMsLTZ9ICAgezQsLTEyfSAgIHs1LC0xMn0iLCB4LklkLCB4Lklzc3VlTmFtZSwgeC5TdW1tYXJ5LCB4LlNvbHV0aW9uLCB4LkludGVybmFsTm9kZXMsIHguRXh0ZXJuYWxOb2Rlcyk7CiAgfQp9
stdin
SXNzdWUgMTogdGVzdApTdW1tYXJ5OiB0ZXN0ClNvbHV0aW9uOiDQv9C10YDQstCw0Y8KQWZmZWN0ZWQgTm9kZXM6IEludGVybmFsIDExLjEwMC4zLjMzMyAKQWZmZWN0ZWQgTm9kZXM6IEV4dGVybmFsIDMzLjMzLjMzMy4zMzMgKHRlc3QpCgpJc3N1ZSAyOiB0ZXN0ClN1bW1hcnk6IHRlc3QKU29sdXRpb246IHRlc3QKQWZmZWN0ZWQgTm9kZXM6IEludGVybmFsIDExLjEwMC4zLjMzMyAKCklzc3VlIDM6IHRlc3QKU3VtbWFyeTog0LLRgtC+0YDQsNGPClNvbHV0aW9uOiB0ZXN0CkFmZmVjdGVkIE5vZGVzOiBFeHRlcm5hbCAzMy4zMy4zMzMuMzMzICh0ZXN0KQoKSXNzdWUgNDogdGVzdApTdW1tYXJ5OiB0ZXN0ClNvbHV0aW9uOiB0ZXN0CkFmZmVjdGVkIE5vZGVzOiBJbnRlcm5hbCAyMi4yMTEuNC40NDQgCkFmZmVjdGVkIE5vZGVzOiBFeHRlcm5hbCAzMy4zMy4zMzMuMzMzICh0ZXN0KQoKSXNzdWUgNTogdGVzdApTdW1tYXJ5OiB0ZXN0ClNvbHV0aW9uOiB0ZXN0CkFmZmVjdGVkIE5vZGVzOiBJbnRlcm5hbCAxMS4xMDAuMy4zMzM=
Issue 1: test
Summary: test
Solution: первая
Affected Nodes: Internal 11.100.3.333
Affected Nodes: External 33.33.333.333 (test)
Issue 2: test
Summary: test
Solution: test
Affected Nodes: Internal 11.100.3.333
Issue 3: test
Summary: вторая
Solution: test
Affected Nodes: External 33.33.333.333 (test)
Issue 4: test
Summary: test
Solution: test
Affected Nodes: Internal 22.211.4.444
Affected Nodes: External 33.33.333.333 (test)
Issue 5: test
Summary: test
Solution: test
Affected Nodes: Internal 11.100.3.333