<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_bordercolor(self):
 """Get bordercolor based on hdrgos and usergos."""

        hdrgos_all = self.grprobj.hdrobj.get_hdrgos()
        hdrgos_unused = hdrgos_all.difference(self.hdrgos_actual)
        go2bordercolor = {}
        # hdrgos that went unused
        for hdrgo in hdrgos_unused:
            go2bordercolor[hdrgo] = self.hdrcol_all
        # hdrgos used in this grouping that are NOT usrgos
        for hdrgo in self.grprobj.hdrgo2usrgos.keys():
            go2bordercolor[hdrgo] = self.hdrcol_all
        # hdrgos used in this grouping that ARE usrgos
        for hdrgo in self.grprobj.hdrgo_is_usrgo:
            go2bordercolor[hdrgo] = 'blue'
        # usrgos which are NOT hdrgos
        usrgos_rem = self.grprobj.usrgos.difference(self.grprobj.hdrgo_is_usrgo)
        for usrgo in usrgos_rem:
            go2bordercolor[usrgo] = '#029386'  # teal
        # print("{N:5} hdrgos actual".format(N=len(self.hdrgos_actual)))
        # print("{N:5} hdrgos unused".format(N=len(hdrgos_unused)))
        # print("{N:5} hdrgos only       BLACK".format(N=len(self.grprobj.hdrgo2usrgos.keys())))
        # print("{N:5} usrgos".format(N=len(self.grprobj.usrgos)))
        # print("{N:5} usrgos AND hdrgos BLUE".format(N=len(self.grprobj.hdrgo_is_usrgo)))
        # print("{N:5} usrgos Only".format(N=len(usrgos_rem)))
        return go2bordercolor