<｜begin▁of▁sentence｜>### Instruction:
Imagine you're constructing a model of viral transmission pathways within a population, where the interactions between hosts are represented as cycles within a network structure. You want to create two separate cycles in your model to simulate the transmission chains of two distinct strains of a virus. You have decided to use NetworkX, a powerful tool for the analysis of complex networks, to generate this model.

You begin by initializing an empty network graph to represent potential transmission links. Now you aim to map out the first transmission cycle involving four individual hosts, labeled numerically as 0, 1, 2, and 3. You want to ensure this cycle is closed, representing a scenario where the virus can potentially return to the first host after progressing through the others. In addition, you plan to simulate a second transmission cycle comprised of a different set of hosts, denoted by the alphabetical labels 'a', 'b', 'c', and 'd'.

For the sake of accurate simulation, you've determined that every interaction, or edge, in these cycles should carry a uniform attribute indicating the strength or weight of the transmission, which you've quantified as '5'. This attribute reflects the probability or ease with which the virus can spread from one host to another.

Could you restructure how you might input this into your NetworkX model, maintaining the integrity of the two separate cycles with their respective labels, and the uniform weight attributed to the edges? Remember, this information is crucial to fine-tuning the accuracy of your simulations.
### Response:
import networkx as nx

G = nx.Graph()
nx.add_cycle(G, [0, 1, 2, 3])
nx.add_cycle(G, ['a', 'b', 'c', 'd'], weight=5)

print(G.edges(data=True))
<|EOT|>
