We show that the edges of any graph G can be weighted with integers
from {1,...,30} so that, for each edge (u,v), the sum of the weights
on edges incident to u is different from the sum of the weiths on
edges incident to v. In other words, the edge weights induce a proper
vertex coloring of G. We also explore some degree-constrained subgraph
problems which arise in the proof, and some more general problems of
when subgraphs with specified vertex degrees can be found.