input<-read_lines("Day23Sample.txt")
dlports<-matrix(ncol=2,nrow=0)
## Pull in the edges, put them into a graph
for(i in 1:length(input)){
x<-unlist(str_split(input[i],"-"))
dlports<-rbind(dlports,x)}
dlgraph<-graph_from_edgelist(dlports,directed=FALSE)
Graphs!!!!!


### Cliques brings the groups of three
dlcliques<-cliques(dlgraph,max=3,min=3)
### Get the vertex names
triplets<-lapply(dlcliques,function(x){vertex(x)[[1]]$name})
### Get the count of any that have a vertex beginning with a T
p1<-sapply(triplets,function(x){t<-if(any(str_starts(x,"t"))){1}else{0}})
part1<-sum(p1)
part1
[1] 7
Part 2
### Get the largest clique, sort their vertices
part2<-str_flatten(sort(vertex(largest_cliques(dlgraph))[[1]][[1]]$name),",")
part2
[1] "co,de,ka,ta"
co,de,ka,ta
LS0tDQp0aXRsZTogIkRheSAyMyBOb3RlYm9vayINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQ0KbGlicmFyeShpZ3JhcGgpDQpsaWJyYXJ5KHJnbCkNCmxpYnJhcnkoZ2dyYXBoKQ0KbGlicmFyeShyZXNoYXBlMikNCmxpYnJhcnkoa25pdHIpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShzdHJpbmdyKQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KHJlYWRyKQ0KbGlicmFyeShjb2xsZWN0aW9ucykNCm9wdGlvbnMoc2NpcGVuID0gOTk5KQ0KYGBgDQoNCmBgYHtyfQ0KaW5wdXQ8LXJlYWRfbGluZXMoIkRheTIzU2FtcGxlLnR4dCIpDQpkbHBvcnRzPC1tYXRyaXgobmNvbD0yLG5yb3c9MCkNCiMjIFB1bGwgaW4gdGhlIGVkZ2VzLCBwdXQgdGhlbSBpbnRvIGEgZ3JhcGgNCmZvcihpIGluIDE6bGVuZ3RoKGlucHV0KSl7DQogIHg8LXVubGlzdChzdHJfc3BsaXQoaW5wdXRbaV0sIi0iKSkNCiAgZGxwb3J0czwtcmJpbmQoZGxwb3J0cyx4KX0NCmRsZ3JhcGg8LWdyYXBoX2Zyb21fZWRnZWxpc3QoZGxwb3J0cyxkaXJlY3RlZD1GQUxTRSkNCmBgYA0KDQpHcmFwaHMhISEhIQ0KDQpgYGB7ciwgZWNobz1GQUxTRX0NCmxhbmdyYXBoPC1nZ3JhcGgoZGxncmFwaCxsYXlvdXQ9ImdyYXBob3B0IikrDQogIGdlb21fZWRnZV9mYW4oKSsNCiAgZ2VvbV9ub2RlX2xhYmVsKGFlcyhsYWJlbD1uYW1lKSxzaXplPTUpDQpsYW5ncmFwaA0KYGBgDQoNCmBgYHtyIHByZXNzdXJlLCBlY2hvPUZBTFNFLCBvdXQud2lkdGggPSAnNzUlJ30NCmtuaXRyOjppbmNsdWRlX2dyYXBoaWNzKCJEYXkyMy5wbmciKQ0KYGBgDQoNCg0KDQpgYGB7cn0NCiMjIyBDbGlxdWVzIGJyaW5ncyB0aGUgZ3JvdXBzIG9mIHRocmVlDQpkbGNsaXF1ZXM8LWNsaXF1ZXMoZGxncmFwaCxtYXg9MyxtaW49MykNCiMjIyBHZXQgdGhlIHZlcnRleCBuYW1lcw0KdHJpcGxldHM8LWxhcHBseShkbGNsaXF1ZXMsZnVuY3Rpb24oeCl7dmVydGV4KHgpW1sxXV0kbmFtZX0pDQojIyMgR2V0IHRoZSBjb3VudCBvZiBhbnkgdGhhdCBoYXZlIGEgdmVydGV4IGJlZ2lubmluZyB3aXRoIGEgVA0KcDE8LXNhcHBseSh0cmlwbGV0cyxmdW5jdGlvbih4KXt0PC1pZihhbnkoc3RyX3N0YXJ0cyh4LCJ0IikpKXsxfWVsc2V7MH19KQ0KcGFydDE8LXN1bShwMSkNCnBhcnQxDQpgYGANCg0KDQoNCiMjIFBhcnQgMg0KDQoNCmBgYHtyfQ0KIyMjIEdldCB0aGUgbGFyZ2VzdCBjbGlxdWUsIHNvcnQgdGhlaXIgdmVydGljZXMNCnBhcnQyPC1zdHJfZmxhdHRlbihzb3J0KHZlcnRleChsYXJnZXN0X2NsaXF1ZXMoZGxncmFwaCkpW1sxXV1bWzFdXSRuYW1lKSwiLCIpDQpwYXJ0Mg0KYGBgDQoNCg==