I have the following coordinate pairs:

    c={{1137, 1008}, {1052, 991}, {1060, 988}, {1137, 1007}, 
      {1189, 1090}, {1125, 1049}, {1189, 1081}, {1248, 1128}, 
      {1251, 1095}, {1129, 1007}, {1016, 964}, {1132, 1059}}

and corresponding labels:

    labels = {"a", "a", "b", "b", "c", "c", "d", "d", "e", "e", "f", "f"};

What I want to do:

> 1. Plotting coordinates as points with `ListPlot`
> 
> 2. Plotting arrows between coordinate pairs 
> 
> 3. Plotting corresponding label and coordinate of each point as text

I tried the following:

    plot = ListPlot[c, AspectRatio -> Automatic, Frame -> True, 
       PlotMarkers -> {Graphics[{Point[{0, 0}]}]}, 
       FrameLabel -> {{"y", ""}, {"x", ""}}, ImageSize -> Medium];
    
    arrows = Partition[c, 2];
    
    gArrows = Graphics@Arrow[a] /. a -> arrows;
    
    Show[plot, gArrows]

The result is:

[![enter image description here][1]][1]

I would like to plot close to each point its label and coordinate.

For the left lower point I added this manually:  

[![enter image description here][2]][2]

**How can all coordinates and labels be added automatically to the data points?**


  [1]: https://i.sstatic.net/fJOER.png
  [2]: https://i.sstatic.net/bdP5i.png